iOS开发总结(A0) - 自定义UIView

可以用以下方法构建custom uiview 的内容

1)draw

2)build in xib

3)add subviews

在custom UIView 的m文件中,一般按照以下对uiview进行初始设置:

 1 -(void)awakeFromNib{
 2     [self setup];
 3 }
 4 -(void)setup{
 5 //set up view  
 6 }
 7 -(instancetype)initWithFrame:(CGRect)frame{
 8     self=[super initWithFrame:frame];
 9     if (self) {
10         [self setup];
11     }
12     return self;
13 }

setup 中一般要做的事情有:

- setBackgroundColor:

- setContentMode:

- setOpaque: (尽量设置为 yes)

- setTranslatesAutoresizingMaskIntoConstraints: (如果使用autolayout,设置为no,否则可能constraint可能会冲突)

 等

以下说明这三种方式的基本做法

一、draw

重写

-(void)drawRect:(CGRect)rect{}

在该方法中画UIView 的内容。

-可以用UIBezierPath画;

- 可以用CGContext 各种画图函数;

- 可以用uikit中各种控件自带的draw方法画

(如UIImage 的drawInRect:, NSAttributedString的drawInRect:)

  

二、load from nib

1)新建view nib 文件,在ib中拖拽添加view的内容(注意view 的class 为custom view 的class),并可设置constraint

2)可用以下语句直接创建view

[[[NSBundle mainBundle]loadNibNamed:@"xib file name "
                                  owner:nil
                                options:nil] lastObject];

好处(前提是熟悉ib):

1.方便快速的添加内容、设置iboutlet 和ibaction、添加gesture等

2.便于 localization

3.便于设置constraint

三、add subviews

这种方法比较直接,代码中新建UIView并增加 

原文地址:https://www.cnblogs.com/beddup/p/4613853.html