Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ember.js/4.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
Ios 不使用UINavigationController的visibleViewController?_Ios_Uiviewcontroller_Uinavigationcontroller_Visible - Fatal编程技术网

Ios 不使用UINavigationController的visibleViewController?

Ios 不使用UINavigationController的visibleViewController?,ios,uiviewcontroller,uinavigationcontroller,visible,Ios,Uiviewcontroller,Uinavigationcontroller,Visible,在我的应用程序中,我只是使用典型的UIViewController方法来切换视图。我没有使用UINavigationController。但是,我确实需要使用UINavigationController拥有的visibleViewController API 不,我也无法将我的项目转换为使用UINavigationController。有没有办法检查我的应用程序中的另一个UIViewController是否是当前可见的控制器 我现在使用addSubview和hidden属性切换视图。(我知道这不

在我的应用程序中,我只是使用典型的UIViewController方法来切换视图。我没有使用UINavigationController。但是,我确实需要使用UINavigationController拥有的visibleViewController API

不,我也无法将我的项目转换为使用UINavigationController。有没有办法检查我的应用程序中的另一个UIViewController是否是当前可见的控制器

我现在使用addSubview和hidden属性切换视图。(我知道这不是交换观点的正确方式)

无论如何,在我的情况下,是否可以执行类似visibleViewController的操作


谢谢

如果使用addSubview:,则只能确定视图层次结构中的俯视图。可以通过浏览根视图的子视图数组属性来确定顶视图

UIView*topview=[[rootview子视图]lastObject]

如果希望获得类似visibleViewController的内容,则应存储一个映射,以保持UIView和UIViewController之间的关系。因此,您可以通过首先获取topview,然后获取相应的视图控制器来获取visibleViewController

祝你好运

有两种方法:

  • 将子视图添加到viewcontroller中,然后使用以下方法将其置于前面:

    [self.view将子视图带到前面:aView]

  • 您可以在appDelegate中保留视图控制器的实例,然后使用以下代码将其中一个设置为rootViewController:

    self.window.rootViewController=self.viewController