获取屏幕宽高
- [[[UIApplication sharedApplication] keyWindow] bounds]
- [[[[UIApplication sharedApplication] delegate] window] bounds]
- [[UIScreen mainScreen] bounds]
分析
- 正常情况下,如果在项目启动后使用,随便哪一种结果都是一样的。
特殊情况在于APP启动的时候,keyWindow不是一开始就有的。
如果我们在- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
这个方法内直接调用keyWindow,答案是nil。
需要执行下面这行后才加载keyWindow
[self.window makeKeyAndVisible];
- 如果我们未设置启动视图Launch那么后面两种方式也是有误差的,系统会默认分配320,568大小的bounds。当然了不同版本系统上可能会有不同。比如:320,480