利用UIWindow自定义类似UIAlertView的弹出框

来源:互联网 发布:盛世的蝼蚁知乎 编辑:程序博客网 时间:2024/06/04 01:10

       项目中经常用到类似iOS原生的UIAlertView的弹出框,普通的用视图覆盖的方式是不能覆盖掉NavigationBar的,所以需要用到UIWindow来实现效果。

1、首先需要创建一个UIWindow的单例来创建一个放在所有视图之上的覆盖层。我的类叫做JDTopLayerWindow,继承自UIWindow

   

+ (JDTopLayerWindow *)sharedInstance

{

    static id sharedInstance =nil;

    static dispatch_once_t onceToken;

    dispatch_once(&onceToken, ^{

       

        sharedInstance = [[selfalloc] initWithFrame:[UIScreenmainScreen].bounds];

        

    });

    

    return sharedInstance;

}


 UIWindow的单例创建好之后,在-(instancetype)initWithFrame:(CGRect)frame 方法中加入自己自定义的视图就可以了




0 0