关于Xib 需要注意的地方

Posted 偶阵雨ss33

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于Xib 需要注意的地方相关的知识,希望对你有一定的参考价值。

当你需要写一个繁琐的界面但是又是静态页面时,很可能会用到xib

【特例:创建继承于UIView的文件时,不带自动生成xib的勾选项,需要开发人员手动new一个同名的xib文件,在该xib文件右侧的class中选择相应的文件名】如图:技术分享

需要注意的几点:

(1)一个xib里的所有控件只能放到自己的@interface声明里,不能放到其他的文件中去

(2)学会合理利用init方法,加载xib时,需要loadNibName一下,放在init方法里会更好一些,方便我们后续在init方法中添加一些别的控件设置,,在controller中调用的时候只需要填写init方法即可,不需要担心它是xib或者是纯代码了,用法如下:

-(instancetype)init{

    self = [super init];

    if (self) {

//重点在这里:

        self = [[[NSBundle mainBundle]loadNibNamed:@"JYEMainActivityPageView" owner:nil options:nil] firstObject];

       //一些其他的设置都可写在这里

    }

    return self;

}

在cell中是这样的:

- (instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier{

    self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];

    if (self) {

            self = [[[NSBundle mainBundle]loadNibNamed:@"JYEMineCell" owner:self options:nil] lastObject];

     //一些其他设置【如果cell的内容来自Model的话,也可以定义一个model属性,在他的set方法中进行一些其他的设置】

    }

    return self;

}

 

(3)或者这样:注册一下,让你的tableview知道它要到复用池里找的哪些cell

    [self.tableView registerNib:[UINib nibWithNibName:NSStringFromClass([JYERecordCell class]) bundle:nil] forCellReuseIdentifier:NSStringFromClass([JYERecordCell class])];

 

    JYERecordCell * recordCell = [tableView dequeueReusableCellWithIdentifier:NSStringFromClass([JYERecordCell class])];

 

以上是关于关于Xib 需要注意的地方的主要内容,如果未能解决你的问题,请参考以下文章

关于JS中的map函数需要注意的地方

关于JS中的map函数需要注意的地方

使用移动CMPP2.0协议关于企业代码字段需要注意的地方

Java基础 | 关于Final Static Abstract修饰需要注意的地方

关于DPDK三层转发的相关例子测试需注意的地方

详解关于Vue2.0路由开启keep-alive时需要注意的地方