项目中经常用到类似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单例实现覆盖所有视图包括NavigationBar的顶层弹窗效果,适用于iOS应用开发中需要显示 UIAlertView 类似弹出框的场景。
320

被折叠的 条评论
为什么被折叠?



