zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    237.Delete Node in a Linked List
    235.Lowest Common Ancestor of a Binary Search Tree
    234.Palindrome Linked List
    232.Implement Queue using Stacks
    231.Power of Two
    226.Invert Binary Tree
    225.Implement Stack using Queues
    Vue概述
    Git分布式版本控制工具
    分布式RPC框架Apache Dubbo
  • 原文地址:https://www.cnblogs.com/hxwj/p/5305194.html
Copyright © 2011-2022 走看看