zoukankan      html  css  js  c++  java
  • UIWindow的获取

    注意:还是直接用下面这个比较靠谱。尤其是iOS11之后。
    [UIApplication sharedApplication].keyWindow;
     
    1、下面这种是比较严谨的方式
    - (UIWindow *)lastWindow
    {
        NSArray *windows = [UIApplication sharedApplication].windows;
        for(UIWindow *window in [windows reverseObjectEnumerator]) {
            
            if ([window isKindOfClass:[UIWindow class]] &&
                CGRectEqualToRect(window.bounds, [UIScreen mainScreen].bounds))
                
                return window;
        }
        
        return [UIApplication sharedApplication].keyWindow;
    }
     
    2、不要简单的使用使用
    [[UIApplication sharedApplication].windows lastObject];
     
    3、MBProgressHUD+MJ.h中使用的就是第二种方式,在iOS11系统中的下列场景中出现问题:
    (1)vcA在navigationcontroller中。
    (2)vcA中能够正常使用
    [MBProgressHUD showMessage:JSONDict[@"Message”]];
    (3)vcA push vcB。
    (4)vcB pop vcA。
    (5)vcA中不能够正常使用
    [MBProgressHUD showMessage:JSONDict[@"Message”]];
     
  • 相关阅读:
    js 生成 yyyy-mm-dd 格式的逼格姿势
    使用chrome联调不在同一个域的请求
    linux命令收集
    spring component-scan filter
    命令别名alias设置
    vi命令的使用
    Git中的文件状态和使用问题解决
    Git常用命令
    Maven
    MySQL命令
  • 原文地址:https://www.cnblogs.com/cchHers/p/8712939.html
Copyright © 2011-2022 走看看