objective-c - 在 iOS 系统中,能否获取到当前显示的控制器?
阿神
阿神 2017-04-18 09:29:14
0
2
666

在 iOS 系统中,不通过提前获取并存储数据的方案。能否获取到当前显示的控制器

需要处理的一些情况
  • 自定义的控制器

  • UITabBarController

  • present

问题说明,通过runtime替换-view***Appear:相关方法的实现,可以实现本需求。但是这种情况,需要开发者在某处保存当前显示的控制器。所以,该方案不满足需求。

统一回复:

self.navigationController.viewControllers.lastObject
这类方案只能在控制器中获取控制器所在navigationController的最后一个控制器,它和当前显示的控制器不恒等。
比如tab+nav架构中,当前显示的是第二tab,在第一个tab的nav的某个控制器中执行该方法,并不能获取当前显示的控制器

阿神
阿神

闭关修行中......

membalas semua(2)
洪涛

Jika terdapat bar navigasi, anda boleh mencari self.navigationController.viewControllers.lastObject melalui timbunan pengawal yang disimpan dalam bar navigasi saya tidak begitu memahami beberapa situasi yang perlu anda tangani...

左手右手慢动作

Anda boleh mendapatkan pengawal yang anda gunakan melalui navigasi dan melompat semula dengan sewajarnya

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan