Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/105.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios SFSafariViewController“完成”按钮不工作_Ios_Objective C_Webview_Nsurl_Sfsafariviewcontroller - Fatal编程技术网

Ios SFSafariViewController“完成”按钮不工作

Ios SFSafariViewController“完成”按钮不工作,ios,objective-c,webview,nsurl,sfsafariviewcontroller,Ios,Objective C,Webview,Nsurl,Sfsafariviewcontroller,我有一个测试ViewController,它嵌入在NavigationController中。在测试ViewController中,我有一个WebView按钮。当我点击按钮时,它会导航到SafariViewController,并加载给定的URL。在WebView中,当我单击“完成”按钮时,它正在调用名为safariviewcontrollerdifinish的委托方法。但SafariViewController并没有被解雇 这是我的密码 - (IBAction)bannerWebviewAct

我有一个测试
ViewController
,它嵌入在
NavigationController
中。在测试
ViewController
中,我有一个
WebView
按钮。当我点击
按钮时,它会导航到
SafariViewController
,并加载给定的URL。在
WebView
中,当我单击“完成”按钮时,它正在调用名为
safariviewcontrollerdifinish的委托方法。但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];  
}
已完成
按钮正在调用,视图未解除。我检查了
self
控制器的日志,两者都是正确的。

您不应该说

[self showViewController:safariVC sender:nil];
你应该说

[self presentViewController:safariVC animated:YES completion:nil];
SFSafariViewControllers旨在以模式显示,并在按下“完成”时自动关闭