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并增加
“交流使人进步”
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步