SFSafariViewController 完成按钮不起作用
SFSafariViewController done button not working
我有一个嵌入在 NavigationController
中的测试 ViewController
。在测试 ViewController
中,我有一个 WebView
按钮。当我单击那个 button
时,它导航到 SafariViewController
并且它正在加载给定 URL。在 WebView
中,当我单击 "Done" 按钮时,它会调用名为 safariViewControllerDidFinish
的委托方法。但是 SafariViewController
并没有被驳回。
这是我的代码。
- (IBAction)bannerWebviewAction:(id)sender {
NSURL *urls = [NSURL URLWithString:@"http://www.google.com"];
SFSafariViewController safariVC = [[SFSafariViewController alloc] initWithURL:urls];
[self showViewController:safariVC sender:nil];
safariVC.delegate = self;
}
#pragma SFSafariViewControllerDelegate
-(void)safariViewControllerDidFinish:(SFSafariViewController *)controller {
// Done button pressed
[controller dismissViewControllerAnimated:YES completion:nil];
}
完成 button
正在调用,视图未关闭。我检查了 self
和 controller
的日志,两者都是正确的。
你不应该说
[self showViewController:safariVC sender:nil];
你应该说
[self presentViewController:safariVC animated:YES completion:nil];
SFSafariViewControllers 旨在以模态方式呈现,并在按下完成时自动关闭。
我有一个嵌入在 NavigationController
中的测试 ViewController
。在测试 ViewController
中,我有一个 WebView
按钮。当我单击那个 button
时,它导航到 SafariViewController
并且它正在加载给定 URL。在 WebView
中,当我单击 "Done" 按钮时,它会调用名为 safariViewControllerDidFinish
的委托方法。但是 SafariViewController
并没有被驳回。
这是我的代码。
- (IBAction)bannerWebviewAction:(id)sender {
NSURL *urls = [NSURL URLWithString:@"http://www.google.com"];
SFSafariViewController safariVC = [[SFSafariViewController alloc] initWithURL:urls];
[self showViewController:safariVC sender:nil];
safariVC.delegate = self;
}
#pragma SFSafariViewControllerDelegate
-(void)safariViewControllerDidFinish:(SFSafariViewController *)controller {
// Done button pressed
[controller dismissViewControllerAnimated:YES completion:nil];
}
完成 button
正在调用,视图未关闭。我检查了 self
和 controller
的日志,两者都是正确的。
你不应该说
[self showViewController:safariVC sender:nil];
你应该说
[self presentViewController:safariVC animated:YES completion:nil];
SFSafariViewControllers 旨在以模态方式呈现,并在按下完成时自动关闭。