我在使用UISplitViewController
时遇到了一些麻烦。我有一个通用的应用程序,我有一个UITabBar
,其中一个标签是UISplitViewController
。控制器(传统上)在手机上折叠并在iPad上展开。 DetailViewController
有一个Button,其中另一个ViewController
(a ChatViewController
)被推到detailViewController之上。
我想要执行以下操作 - 我想以编程方式选择splitviewcontroller的选项卡(到目前为止没问题)并使ChatViewController
可见,即在手机上推送DetailViewController
顶部MasterViewController
以及DetailViewController
顶部的ChatViewController和仅在ChatViewController
顶部的DetailViewController
右侧推送的垫片。
我正在使用TWMessageBarManager
在App推送通知中显示(即该情况下的聊天消息)。当用户点击顶部的栏时,我想显示ChatViewController
。
我遇到了几个问题:
选择UISplitViewController
的标签后,我会调出performSegueWithIdentifier
以设置正确的detailItem
并DetailViewController
可见,然后再按ChatViewController
}。但是,默认行为是DetailViewController
在MasterViewController
之上用动画推送,我不希望在这种情况下出现这种情况。
UISplitViewController
的视图层次结构在平板电脑和手机上是不同的,甚至在运行时也是如此。在平板电脑上(在手机上,在视图控制器可见之前),DetailViewController
位于第二个位置的splitviewcontroller.viewControllers
数组中。在手机上,在splitviewcontroller第一次显示后,detailviewcontroller
位于masterviewcontroller.navigationcontroller.viewcontroller
数组中。
是否有人有解决方案在SplitViewController
(问题1)中未执行动画segue并获得detailViewController
的正确引用(问题2)。
祝你好运 多米尼克