您的位置:首页 > 产品设计 > UI/UE

iOS开发中的错误整理,iOS9之后的UIWindow(TopWindow)以及UIWindow与statusBar的关系

2016-07-13 22:47 543 查看

iOS9之后的UIWindow的问题(TopWindow),以及UIWindow与statusBar之间的联系

1.出现的问题

iOS9之后UIWindow必须要指定一个根控制器,不然会报错!iOS9之前只是警告

当创建了window,指定了根控制器之后.在别的控制器设置statusBar的样式和颜色没有效果.因为
statusBar的样式和颜色是由位于最顶端的UIWindow的控制器决定的!


2.问题解决

将topWindow实现为单例模式(这里简单实现,完整的单例模式请参考之前的整理),为了以后无论在哪里都可以拿到topWindow



对外界提供两个属性,一个决定statusBar的样式,另一个决定statusBase的显示与隐藏



重写这两个属性的setter,只要外界赋值,就执行
[self setNeedsStatusBarAppearanceUpdate];
,不要直接调用prefersStatusBarHidden方法等,没用



重写设置statusBase的两个方法,返回外界给的值

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: