0

我有一个 UISplitViewController,它也是 UIWindow 的根视图。我将两个 UINavigationController 分别设置为主视图控制器和详细视图控制器。UITableViewController 是主视图控制器内部的 UINavigationController 的根视图。当我从 UITableViewController 中选择一个项目时,详细视图控制器会正确响应。但是,当我从 MasterViewController 的 UINavigationController 推送另一个 UITableViewController 时,详细视图控制器停止响应。

我使用 [[splitviewcontroller.viewcontrollers lastObject] topViewController] 来获取它的详细视图控制器。它适用于 UINavigation 控制器内的第一个视图控制器,但是在我使用 self.navigationcontroler pushViewController 推送一个新的视图控制器之后,并在这个新的视图控制器上使用 [[splitviewcontroller.viewcontrollers lastObject] topViewController]。不知何故,我无法获得这个 splitviewcontroller 的详细视图控制器。

有没有专家可以帮我解决。先感谢您。

4

2 回答 2

0

看起来你有一个非常复杂的层次结构。我的建议是绘制 UI 结构并参考 Storyboard 以获得帮助。您可以使用 View Controller 的 parentViewController 属性来获取对所需视图控制器的引用。此外, viewControllers 属性将返回由接收者管理的视图控制器数组,以便您查看层次结构的样子。希望这可以帮助!

于 2013-03-27T23:34:47.173 回答
0

而不是[[splitviewcontroller.viewcontrollers lastObject] topViewController]尝试使用[[splitviewcontroller.viewcontrollers lastObject] visibleViewController]. 希望这可以帮助!

于 2013-03-27T23:25:36.933 回答