ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

利用XIB创建自定义的Cell

2022-06-06 10:00:09  阅读:135  来源: 互联网

标签:cell XIB 自定义 控件 创建 xib Cell


 转:https://www.jianshu.com/p/a25b9b8c42b0

利用XIB创建自定义的Cell

tanyufeng 2016.06.06 01:07:47字数 493阅读 2,851

自定义的cell在我们的开发当中使用的极为平凡,可以说几乎所有的cell都是自定义的,因为他的灵活性和可控性非常的强。

使用自定义的cell肯定就少不了利用可视化来创建cell,那么今天就来讲讲如何利用xib创建cell。

利用XIB创建自定义的cell总体来说,我们可以分为四步:

1. 创建xib,添加cell并添加控件
2. 为xib关联cell类
3. 注册cell类
4. 使用xib创建的cell类

下面我们一步一步来

一、创建XIB,并添加控件

1、创建XIB文件, 如下图:

  1.1 创建XIB.png

2、成功之后,如下图:

  1.2 Xib创建成功.png

3、添加cell控件

  添加Cell控件.png

4、添加其他子控件

  添加Cell子控件.png

二、创建cell类,并关联cell

1、创建cell类, 如下图

  创建cell类.png

PS:cell类的名称可以不用和XIB的名称一致,不过推荐一致

2、将xib中的cell和cell类关联, 如下图操作

  关联cell类

3、为子控件关联属性和方法

  关联属性和方法

三、注册cell类

1、为xib中的cell添加重用标识

  添加重用标识

2、加载XIB为nib,并注册, 如下代码:

    /**
     *  加载xib 返回nib对象
     */
    UINib *cellNib = [UINib nibWithNibName:@"CustomTableViewCell" bundle:nil];
    
    
    /**
     *  通过nib对象,注册cell
     *
     *  @param nib nib加载后的xib
     *
     *  @param identifier 重用标识
     *
     *  @return 返回值
     */
    [self.tableView registerNib:cellNib forCellReuseIdentifier:@"xibCell"];

PS:注册时的重用标识,必须和xib中设置的重用标识一样

四、cell的使用

通过上面几个步骤后,利用xib创建的cell就和cell已经关联好了,在使用的时候就和普通cell的使用没有太大的区别,使用代码如下:

    CustomTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"xibCell"];
    
    CellModel *model = self.dataArray[indexPath.row];
    
    cell.model = model;
    
    return cell;

PS:这里面特别需要提醒的是,在xib中注册时以及使用时三者所使用的重用标识必须保持一致,三者有一个不一样都会出错。

欢迎大家踊跃评论,让我们一起探讨技术!!
如果觉得文章不错,请帮忙点击文章下方的喜欢!!
你的支持将是对我最好的鼓励, 谢谢!!!

    18人点赞   iOS UI  

标签:cell,XIB,自定义,控件,创建,xib,Cell
来源: https://www.cnblogs.com/LiuZX90/p/16347157.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有