如何在iOS上找到最上层的视图控制器
||
我现在遇到过两种情况,可以很方便地找到“最高”视图控制器(负责当前视图的视图控制器),但还没有找到一种方法。
基本上,挑战是这样的:假设一个人正在一个不是视图控制器(或视图)的类中执行[并且没有活动视图的地址],并且没有传递最高视图控制器的地址(或者说导航控制器的地址),是否可以找到该视图控制器? (如果是的话,如何?)
否则,是否有可能找到最顶层的视图?
没有找到相关结果
已邀请:
30 个回复
逆捐凶撤小
不过,在创建视图控制器后,您需要自己进行设置。
磐去裸猜饲
迅捷3.0+
锹缄
程琶
视图控制器是
目标C
迅捷4+
先对冈蒲
用法:
校勒魏寡
================================================== =================== 现在,要获得最高的视图控制器,您需要做的就是调用上述方法,如下所示:
降女陷费券
玩翁文醚碱
苛肠倒俱
是辅助功能。 现在您需要做的就是调用
,并且应该返回最上面的UIViewController!
究补闯
感秆暴壳
的简单扩展: 注意: 在乎
内的
简单用法:
雄鞋谋塘
澜悍景哭苟
傻零凰死授
可以在任何地方使用它:
俺呵誓放胳
。适用于Swift 4.0及更高版本 Swift 4.0及更高版本:
如何使用?
济畦刨
迪擅哨乘傅
随意将其与从该问题的其他答案中检索您喜欢的顶视图控制器的任何方式混合使用。
痴浪墨
蕉衫
味芯憨
才改隘瘁
可以在任何地方使用它,
或喜欢
适合任何类,如UINavigationController,UITabBarController 请享用!
脖呐
擅香
眠缝
用法:
犀耽澄协吻
断跑胺弄萎
用法:
购藏盗码韦
您可以使用[viewController Class]方法找出viewController的类类型。
曝匿弄罚
钾涎净介
呈辖玫割善
这是UINavigationController.h的摘录: