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

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

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

   

+ (JDTopLayerWindow *)sharedInstance

{

    static id sharedInstance = nil;

    static dispatch_once_t onceToken;

    dispatch_once(&onceToken, ^{

       

        sharedInstance = [[self alloc] initWithFrame:[UIScreen mainScreen].bounds];

        

    });

    

    return sharedInstance;

}


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




你可能感兴趣的:(利用UIWindow自定义类似UIAlertView的弹出框)