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

 

posted @ 2016-03-22 10:39  幻想无极  阅读(509)  评论(0编辑  收藏  举报