博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
xib加载原理
阅读量:4648 次
发布时间:2019-06-09

本文共 641 字,大约阅读时间需要 2 分钟。

  首先查看Xib中的UIView对应的类,然后用对应的类创建对象(调用的是initWithCoder方法),然后查看其属性进行设置,比如frame,backgroundcolor等

- 然后UIView中可能有多个子控件,比如有UIImageView,UILabel,...
- 那么就对每一个控件从上到下,依次根据控件所对应的类来创建(调用的是initWithCoder方法)与之相对应的对象,然后对创建的对象根据其相应的的属性进一步赋值,比如frame.backgroundcolor等
- 至此,xib加载完毕
- Storyboard的前身是Xib,所以Stroyboard中的UIView的加载过程跟上面的一样,每个子控件调用initWithCode方法创建对象,并且都会调用该控件对应的类的awakeFromNib方法

 

 

- (instancetype)initWithCoder:(NSCoder *)aDecoder{    if (self = [super initWithCoder:aDecoder]) {        NSLog(@"%s", __func__);    }    return self;}- (void)awakeFromNib{    [super awakeFromNib];    NSLog(@"%s", __func__);}

 

转载于:https://www.cnblogs.com/521it/p/5157061.html

你可能感兴趣的文章
LDAP & it's implementation
查看>>
Apache HttpComponents中的cookie匹配策略
查看>>
冰封的海盗攻略
查看>>
Netty4.x中文教程系列(四) 对象传输
查看>>
linux下find命令使用举例、
查看>>
GET请求在Tomcat中的传递及URI传递
查看>>
ubuntun 服务器与Mac
查看>>
重温JSP学习笔记--与日期数字格式化有关的jstl标签库
查看>>
java-Date-DateFormat-Calendar
查看>>
封装CLLocationManager定位获取经纬度
查看>>
我的第一篇博客-(Eclipse中或Myeclipse中如果不小心删除了包那可怎么办?)
查看>>
对easyui datagrid组件的一个小改进
查看>>
类似以下三图竞争关系的IT企业
查看>>
清明节
查看>>
ubuntu如何安装svn客户端?
查看>>
javascript之非构造函数的继承
查看>>
C#实现 单点登录(SSO)
查看>>
高精度计算(2015.8.1)
查看>>
cocos2d-x tile map瓦片地图的黑线及地图抖动解决方案
查看>>
软工网络15团队作业2——团队计划
查看>>