UIWindow使用技巧-创新互联

看到UIWindow,相信很多人都会想起下方的代码。这是旧版本Xcode提供的模板,用于创建整个项目的视图容器。

创新互联专注于企业成都全网营销推广、网站重做改版、贵州网站定制设计、自适应品牌网站建设、HTML5建站商城网站建设、集团公司官网建设、成都外贸网站制作、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为贵州等各大城市提供网站开发制作服务。

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

{

    CGRect bounds = [UIScreen mainScreen].bounds;

  self.window = [[UIWindow alloc] initWithFrame:bounds];

  [self.window makeKeyWindow];

}

那究竟什么是UIWindow呢?它是继承自UIView的一种特殊视图,用于承载基本的UI控件,包括UIView。每个app里至少有一个UIWindow,称作keyWindow。当这个window执行becomeKeyWindow

,makeKeyWindow或者makeKeyAndVisible方法,就成为了keyWindow。除了keyWindow之外,还可以创建其他的window用于辅助显示。

UIWindow显示:

通过new,alloc创建出来的window都是隐藏的,将window的属性hidden设成NO或者执行makeKeyAndVisible就可以将window显示出来。

UIWindow的默认显示层级(UIWindowLevel)有3种:

UIWindowLevelNormal -- 普通层级,在状态栏下方

UIWindowLevelAlert -- 跟UIAlertView一个层级,比状态栏高一个层级

和UIWindowLevelStatusBar -- 跟状态栏一个层级

创建时默认是UIWindowLevelNormal,一般keywindow都是这个层级。由于UIWindowLevel是CGFloat数值,因此可以将该属性设成一个具体的数值。或者在提供的3种值的基础进行加减。如腾讯的自选股app中,刷新列表时候在状态栏上方显示一个刷新成功提示可以将UIWindowLevel设成UIWindowLevelStatusBar+1。

注意:

项目使用ARC时,使用临时变量创建的UIWindow是不会显示出来的。因为它会直接变销毁掉。也是本人遇到的一个坑。

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


文章名称:UIWindow使用技巧-创新互联
网站路径:http://scjbc.cn/article/doeccg.html

其他资讯