iOS自定义控件创建原理(持续更新)
前言
因为如果要创建各种自定义控件根据需求的不同会有很多的差别,所以我就在这里,分析一些自定义控件的创建实现方法
弹出视图
1.把要弹出的视图装在一个控制器里面,自定义转场动画
2.创建一个弹出视图,写一个弹出方法,将它放在keyWindow视图的最上层,要注意,最好覆盖整个屏幕
//显示 - (void)show { UIWindow *window = [[UIApplication sharedApplication] keyWindow]; NSArray *windowViews = [window subviews]; if(windowViews && [windowViews count] > 0){ UIView *subView = [windowViews objectAtIndex:[windowViews count]-1]; for(UIView *aSubView in subView.subviews) { [aSubView.layer removeAllAnimations]; } [subView addSubview:self];//self就是要弹出的视图,根据情况更改 } }
3.创建一个自定义控件继承window将他设置为警告框的层次
- (instancetype)init { self = [super init]; if (self) { self.windowLevel = UIWindowLevelAlert; self.frame = [UIScreen mainScreen].bounds; } return self; }
让自定义的window显示到最前端
[self makeKeyAndVisible]; //self是自定义的window