美文网首页
UIWindow的应用场景

UIWindow的应用场景

作者: xiaodingdang18 | 来源:发表于2017-07-05 10:37 被阅读0次

最近工作中,遇到某个控制器需要弹出多个UIAlertController,当我用[UIApplication sharedApplication].delegate.window.rootViewController获取到当前的window,再获取到当前的rootViewController,再弹出UIAlertController,是会失败的,因为当前的一个控制器不可以重复多次present多个控制器。

所以这个时候,可以重新创建一个window,覆盖在原来的window之上

UIWindow *alertWindow = [[UIWindow alloc]initWithFrame:[UIScreen mainScreen].bounds];

alertWindow.rootViewController = [[UIViewController alloc]init];

alertWindow.windowLevel = UIWindowLevelAlert + 1;

[alertWindow makeKeyAndVisible];

注意事项:某些系统UIAlertController移除之后,window并没有移除,所以需要手动移除:

weakWindow.hidden = YES;

weakWindow = nil;

UIWindow的层级关系:

UIKIT_EXTERN const UIWindowLevel UIWindowLevelNormal; //默认,值为0

UIKIT_EXTERN const UIWindowLevel UIWindowLevelAlert; //值为2000

UIKIT_EXTERN const UIWindowLevel UIWindowLevelStatusBar ; // 值为1000

相关文章

  • UIWindow的应用场景

    最近工作中,遇到某个控制器需要弹出多个UIAlertController,当我用[UIApplication sh...

  • iOS—UIWindow与UIView

    一、UIWindow1、什么是UIWindow 管理和协调应用程序的显示。UIWindow类是UIView的子类,...

  • UIWidow

    什么是UIWindow UIWindow是一种特殊的UIView,一个app中至少会有一个UIWindow 应用程...

  • iOS开发之二:UIWindow与UIView

    1、UIWindow UIWindow 继承自UIView,它是整个应用的容器,一般来说一个应用就只有一个UIWi...

  • iOS开发进阶 第十二章 UIWindow

    在iOS应用中,我们使用UIWindow和UIView来呈现界面。UIWindow并不包含任何默认的内容,但是当他...

  • iOS 之详解UIWindow

    UIWindow用途? 展示应用程序的用户界面(所有展示的界面都需要添加到UIWindow上) 分发事件到各个用户...

  • iOS UIWindow及悬浮球

    UIWindow简介 一个UIWindow对象为应用程序的用户界面提供了背景以及重要的事件处理行为。UIWindo...

  • iOS悬浮球的实现

    简单的悬浮小球demo下载地址 1.UIWindow简介 一个UIWindow对象为应用程序的用户界面提供了背景以...

  • iOS UIWindow

    UIWindow keyWindow : BOOL 类型,只读,用于判断是否是当前应用的 key window (...

  • iOS View 编程指导(二)-window

    Windows iOS应用中window是UIWindow的实例,而且应用中至少需要一个window. windo...

网友评论

      本文标题:UIWindow的应用场景

      本文链接:https://www.haomeiwen.com/subject/iggfhxtx.html