【发布时间】:2015-10-10 17:22:58
【问题描述】:
我在 iOS 8 上使用 UISplitViewController 时遇到问题。
特别是在旋转屏幕时它会崩溃,而且这只发生在 iPhone 6 Plus 上。我假设它发生在控制器尝试拆分/合并视图控制器时。
我的导航堆栈可能有点复杂,拆分视图的左侧和右侧都有一个 UINavigationController。在切换到右侧堆栈之前,可以将几个项目推入左侧堆栈。它与默认的邮件应用程序非常相似。在您选择邮箱的位置,打开文件夹并浏览左侧堆栈上的邮件列表,并在右侧堆栈上显示邮件和打开的附件等。
我能够通过使用Show (e.g. Push) 推送左侧堆栈和Show Detail (e.g. Replace) 来配置和连接不同视图的行为方式,只使用情节提要配置。
在四处点击(并填充右侧堆栈)后,在 iphone 6 plus 上旋转会使应用程序崩溃。我意识到它的发生是因为这是唯一将两侧扩展和折叠到彼此的设备。调试器没有提供任何真实信息,我有时得到的唯一信息是:
-[UIView updateNavigationBarButtonsAnimated:]: unrecognized selector sent to instance
注意UIView 的位置,这似乎是随机的(NFCString、NSArray 等),所以我认为它意外地为零并指向堆上的随机代码。
我也意识到这与 UISplitViewControllerDelegate 方法有关,但我无法弄清楚我应该真正做些什么才能让它发挥作用。
【问题讨论】:
标签: ios xcode uinavigationcontroller uistoryboard uisplitviewcontroller