(四十三)UITabBarController和AppDelegate的一些细节

假设一个UITabBar是V1,V2,V3三个视图的根控制器。

一进入程序的时候,只会加载一个视图V1,也就是说UITabBar是延迟加载的。

Tip:通过代码创建的UITabBar会一次性加载所有视图(特例)。


拿到tabBar:

在AppDelegate中通过window拿到:

UITabBarController *tb = (UITabBarController *) self.window.rootViewController;


利用tb的tabBar属性可以访问控件属性,通过打印可以发现tabBar的高度是49

Tip:验证子控件的原理和作用,可以通过remove方法移除后看效果。通过subviews方法得到子控件数组,然后用isKindOfClass方法来判断是否是需要移除的内容。


防止程序后台休眠(例如MP3、QQ应用):可以通过plist配置。

后台不休眠的程序关闭时才会调用applicationWillTerminate: 一般不会调用。


AppDelegate的调用顺序:注意要先加载再获得焦点(供用户使用),先失去焦点再关闭程序(防止消失中途被点击)。






原文地址:https://www.cnblogs.com/aiwz/p/6154208.html