【发布时间】:2017-08-11 18:41:38
【问题描述】:
我正在尝试使用 SFSafariViewController 显示 URL。这是我的代码:(topmostController 指向,是的,最顶层的控制器)
SFSafariViewController *safariVc = [[SFSafariViewController alloc] initWithURL:url];
[[UIViewController topmostController] presentViewController:safariVc animated:YES completion:nil];
无论我尝试显示的 URL 是什么,我都会收到:
地址栏空白无响应,刷新按钮不做任何事情,底部按钮全部禁用,没有页面,顶部栏布局混乱。
我已经多次尝试使用多个域,但始终相同。我做错了什么?
【问题讨论】:
-
问题可能是
[UIViewController topmostController]的实现。你能把那个贴出来吗?根据我的经验,当您尝试在无法真正呈现的视图控制器上呈现时会发生这种情况(据系统所知) -
@Dima 因为它只是一个返回最顶层控制器的助手。如果它不起作用,则根本不会显示 Safari 控制器。它正在返回正确的视图控制器(我已经放置了一个断点并经过验证)
-
这其实不太对。我之前尝试在容器中以自定义方式显示的子视图控制器(即技术上未显示)显示时发生过这种情况。演示文稿似乎有效,但结果与您的屏幕截图相同。从容器中呈现使其工作正常。您是否尝试在包含的视图控制器上呈现?无论如何,您粘贴的代码没有问题,因此问题必须在其他地方。
标签: ios objective-c uiviewcontroller ios10 sfsafariviewcontroller