UIView 的常用方法及注意事项

UIkit框架 ,关于 UIview ,有几个常用的方法以及其使用的场景,这里给大家总结一下。
初始化方法
  1. 这个方法就是大家熟悉的构造方法 , 在初始化 控件 的时候调用 , 我们可以在这个方法内为这个 控件 添加一些控件 , 这样 , 当我们创建完成这个 控件的时候 , 这个 控件 中就有了我们想要的控件 ;
- (instancetype)init {
    if (self = [super init]) {
        //  添加子控件
    }
    return self;
}
  2. 这个方法也是一个构造方法 , 与上面的 -init  方法的区别仅在于在这个构造方法中 , 我们要传入一个  frame, 以便我们在初始化 控件 的时候可以给 控件 指定我们传入的  frame; 同样在这个方法中我们也可以为 控件 添加我们想要的控件 ;
- (instancetype)initWithFrame:(CGRect)frame {
    if (self = [super initWithFrame:frame]) {
        //  添加子控件
    }
    return self;
}
  3. 同样这个方法也是一个构造方法 , 但不在于 , 这个方法是在特殊 ( 当对象是从文件 ( 不仅仅只是  xib storyboard) 中创建 ) 的时候调用 . 同样在这个方法中我们也可以为 控件 添加我们想要的控件 ;
   但是这里有一点是要注意 :
   在这个方法调用的时候 ,xib  或者  storboard  与文件的连线还没有生成 ; 所以在这里调用方法是无效的 , 请注意这点 .
//  当对象从文件 ( 不单单只 xib sb) 中创建的时候调用
- (instancetype)initWithCoder:(NSCoder *)aDecoder {
    if (self = [super initWithCoder:aDecoder]) {
        //  添加子控件
        //  在该方法调用的时候 ,xib/sb 中关联的控件还没有连好线 .
    }
    return self;
}
其它方法
#pragma mark -  当控制器从 xib/sb 中创建时调用
- (void)awakeFromNib {
    //  添加子控件
    //  获得 xib/sb 中子控件 , 给子控件属性设置
}
   这个方法 , 当添加子 ` 控件 ` 时或当前控件 frame 发生改变时 ( 改变前和改变后的 frame 要不一致 );
#pragma mark - 一般在这个方法里面对构造方法中添加的 ` 控件 ` 的  frame  进行设置
- (void)layoutSubviews {
    [super layoutSubviews];
    //  布局子控件的 frame
}
#pragma mark -  当类被加载时调用
+ (void)load {
}
#pragma mark -  当类第一次使用时调用
+ (void)initialize {
}
原文来自:简书/ TobyoTenma
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值