iOS 教你学UI控件的封装

同学们肯定在项目中都会遇到自定义控件,需要自己来封装,下边我和大家一起探讨一下关于UI控件的封装,后续会给demo,这节就先介绍封装的那些需要重写的方法。示例如下:

#import "FirstCustomView.h"


@implementation FirstCustomView

{

    NSInteger curX;

    NSInteger curY;

}


//封装UI控件,无外乎就是下边的这几个方法,根据项目需要,就是在下边的这些方法中选取几个进行重写,达到项目的目的。


/*

 下边的方法释义:

      UI控件的初始化的位置,如果程序需要在nib文件中夹在该控件后进行自定义初始化操作,那么就重写下边的方法。

 */

- (instancetype)initWithCoder:(NSCoder *)aDecoder {

    self = [super initWithCoder:aDecoder];

    return self;

}


//当你用的是XIB布局的时候可以在这个方法里对你的XIB进行再调整,比如我里边就是要改变XIB布局中的一些约束需要改变,我可以选择在XIB中写,也可以在这个方法中用代码写约束,或者在增加一些新的View等都可以在这个方法中写,达到你想要的最终效果

- (void)awakeFromNib {
    self.topConstraint.constant += 200;
    self.rightConstraint.constant -= 100;
    self.leftConstraint.constant += 100;
}


/*

 下边的方法释义:

   程序在创建UI控件时会掉用下边的方法做初始化操作,也就是说对UI控件的初始化就放在这个里边操作,纯代码布局的时候用这个方法来布局

 */

- (instancetype)initWithFrame:(CGRect)frame {

    self = [superinitWithFrame:frame];

    return self;

}


/*

 下边的方法释义:

   通过重写下边的方法,实现程序如果需要自行绘制此控件内容

 */

- (void)drawRect:(CGRect)rect {


}



/*

 下边的方法释义:

   通过重写下边的方法,实现程序如果需要对此控件布局进行更精确的控制。

 */

- (void)layoutSubviews {


}



/*

 下边的方法释义:

   当控件添加字控件完成时会激发下边的方法

*/


- (void)didAddSubview:(UIView *)subview {


}



/*

 下边的方法释义:

   当控件将要移除子控件时会激发下边的方法

 */

- (void)willRemoveSubview:(UIView *)subview {

    

}



/*

 下边的方法释义:

 当控件将要添加到父控件时会激发下边的方法

 */


- (void)willMoveToSuperview:(UIView *)newSuperview {


}



/*

 下边的方法释义:

    当控件添加到父控件完成时会激发下边的方法

 */


- (void)didMoveToSuperview {


}


/*

 下边的方法释义:

    当控件将要添加到窗口时会激发下边的方法

 */

- (void)willMoveToWindow:(UIWindow *)newWindow {


}



/*

 下边的方法释义:

    当控件添加到窗口完成时会激发下边的方法

 */


- (void)didMoveToWindow {


}


/*

 下边的方法释义:

    当用户开始触碰该控件时会激发下边的方法

 */


- (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event {


}



/*

 下边的方法释义:

   当用户在该控件上移动时会激发下边的方法

 */


- (void)touchesMoved:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event {


}


/*

 下边的方法释义:

    当用户取消触碰该控件时会激发下边的方法

 */



- (void)touchesCancelled:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event {


}


/*

 下边的方法释义:

   当用户结束触碰该控件时会激发下边的方法

 */


- (void)touchesEnded:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event {


}


@end



  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值