Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/39.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 局部视图不响应MasterViewController_Iphone_Ios - Fatal编程技术网

Iphone 局部视图不响应MasterViewController

Iphone 局部视图不响应MasterViewController,iphone,ios,Iphone,Ios,我有一个UISplitViewController,它也是UIWindow的根视图。我将两个UINavigationController分别设置为主视图控制器和详细视图控制器。UITableViewController是位于masterviewcontroller内的UINavigationController的根视图。当我从UITableViewController中选择项目时,详细视图控制器会正确响应。但是,当我从MasterViewController的UINavigationContro

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

我使用[[splitviewcontroller.viewcontrollers lastObject]topViewController]获取其详细视图控制器。它在UINavigation控制器内的第一个视图控制器上工作,但在我使用self.navigationcontroller pushViewController推送新的视图控制器,并在此新视图控制器上使用[[splitviewcontroller.viewcontrollers lastObject]topViewController]之后。不知何故,我无法获取此splitviewcontroller的详细视图控制器


有专家能帮我吗。先谢谢你

尝试使用[[splitviewcontroller.viewcontrollers lastObject]visibleViewController]代替[[splitviewcontroller.viewcontrollers lastObject]topViewController]。希望这有帮助

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

谢谢你的回复。似乎仍然无法在细节视图控制器中获取视图控制器。除非OP显示模式视图控制器,否则topViewController和visibleViewController应返回相同的内容。第二次我从UIViewController使用此方法,该方法是从UINavigationController的根视图控制器推送的。这是主视图控制器的根视图。这就是此方法无法工作的原因吗?您可以尝试[[self.splitviewcontroller.viewcontrollers lastObject]visibleViewController]或[[self.splitviewcontroller.viewcontrollers lastObject]viewcontrollers]lastObject]我尝试使用parentViewController,但它仍然无法得到我想要的。