UISplitViewController - willShowViewController不会触发

时间:2011-08-27 03:32:17

标签: ios ipad uinavigationcontroller uisplitviewcontroller uitabcontroller

我正在将iPhone应用程序转换为在iPad上运行。在这种情况下,用户界面是使用界面构建器创建的。根控制器的接口(在索引0处)由一个选项卡控制器和一个控制器组成。此布局中的导航控制器:

  • 标签控制器
  • 导航控制器1
  • 导航控制器2
  • 导航控制器3

我一直在实施这个。当我设置Tab控制器&导航控制器1作为第一步,一切正常。 willHideViewController& willShowViewController正常工作。我的界面正确地从SplitView切换到Popover。当我添加Navigation Controller 2时,willHideViewController& willShowViewController从不开火&无论iPad在模拟器中的方向如何,我总能看到Popover控制器。

当我添加第二个导航控制器时,我是否需要在界面构建器中绑定其他东西以使界面正常工作?

2 个答案:

答案 0 :(得分:0)

我猜你已经为第一个导航控制器设置了一个委托,但是为第二个导航控制器设置了一个委托。委托对象将接收诸如willHideViewController。

之类的方法

我也不确定拥有多个导航控制器是不错的风格。视图控制器知道它已放置在导航控制器中,您可以使用self.navigationController访问它。您应该继续在同一个导航控制器上推动视图控制器。或者我可能误解了你试图用标签控制器做的事情。

答案 1 :(得分:0)

答案很简单:当你实现拆分视图控制器&如果您希望所有内容都能从纵向切换到横向,您需要确保所有界面元素都实现了 shouldAutorotateToInterfaceOrientation for portrait&景观布局。