自定义tableviewcell

1.xib,nib拖控件:awakefromnib: 设置
2,不拖控件:
- (instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier
{

if (self = [super initWithStyle:style reuseIdentifier:reuseIdentifier]) {

//创建子控件

//头像 UIImageView *iconView = [[UIImageView alloc] init]; [self.contentView addSubview:iconView]; self.iconView = iconView;

//昵称 UILabel *nameView = [[UILabel alloc] init]; [self.contentView addSubview:nameView]; self.nameView = nameView; // nameView.font = [UIFont systemFontOfSize:CZNameFont];

//会员 UIImageView *vipView = [[UIImageView alloc] init]; [self.contentView addSubview:vipView]; self.vipView = vipView; self.vipView.image = [UIImage imageNamed:@"vip"];

//微博内容 UILabel *textView = [[UILabel alloc] init]; [self.contentView addSubview:textView]; self.textView = textView; textView.font = [UIFont systemFontOfSize:CZTextFont]; textView.numberOfLines = 0;

//微博图片 UIImageView *pictureView = [[UIImageView alloc] init]; [self.contentView addSubview:pictureView]; self.pictureView = pictureView; } return self; }

1、dequeueReuseableCellWithIdentifier:与dequeueReuseableCellWithIdentifier:forIndexPath:的区别:
前者不必向tableView注册cell的Identifier,但需要判断获取的cell是否为nil;
后者则必须向table注册cell,可省略判断获取的cell是否为空,因为无可复用cell时runtime将使用注册时提供的资源去新建一个cell并返回

2、自定义cell时,记得将其他内容加到self.contentView 上,而不是直接添加到 cell 本身上

总结:
1.自定义cell时,
若使用nib,使用 registerNib: 注册,dequeue时会调用 cell 的 -(void)awakeFromNib
不使用nib,使用 registerClass: 注册, dequeue时会调用 cell 的 - (id)initWithStyle:withReuseableCellIdentifier:
2.需不需要注册?
使用dequeueReuseableCellWithIdentifier:可不注册,但是必须对获取回来的cell进行判断是否为空,若空则手动创建新的cell;
使用dequeueReuseableCellWithIdentifier:forIndexPath:必须注册,但返回的cell可省略空值判断的步骤。

转载于:https://www.cnblogs.com/-superman-/p/5669565.html

IOS开发自定义tableviewcell的注意点相关推荐

  1. iOS开发自定义键盘回车键Return Key

    在iOS开发中,用户在进行文本输入的时候,往往会用到虚拟键盘上的回车键,也就是Return Key.回车键有时候可以是"完成"(表示输入结束),可以是"下一项" ...

  2. ios开发 自定义btn_iOS一步步实现一个高度自定义UIButton控件

    需求背景 日常开发中UIButton的图片与标题默认的布局是固定的,是在水平方向左右排列.但是我们会经常需要更改image和title的位置来实现需求,这是个很常见的需求就不多说了.所以下面就来谈谈如 ...

  3. iOS开发-自定义UIAlterView(iOS 7)

    App中不可能少了弹框,弹框是交互的必要形式,使用起来也非常简单,不过最近需要自定义一个弹框,虽然iOS本身的弹框已经能满足大部分的需求,但是不可避免还是需要做一些自定义的工作.iOS7之前是可以自定 ...

  4. iOS开发-------自定义简单的表情键盘(UICollectionView 集合视图)

    最近制作自制表情键盘的时候,突然了解到还有一个叫做UICollectionView (集合视图)的类,就研究了一下,确实在做表情键盘上要比用 UIScrollView(滚动视图) 要简单的多,用法与 ...

  5. iOS开发之--TableViewCell重用机制避免重复显示问题

    常规配置如下 当超过tableView显示的范围的时候 后面显示的内容将会和前面重复 // 这样配置的话超过页面显示的内容会重复出现 - (UITableViewCell *)tableView:(U ...

  6. iOS开发-自定义相机(仿微信)拍照、视频录制

    网上有很多自定义相机的例子,这里只是我临时写的一个小demo,仅供参考: 用到了下面几个库: #import <AVFoundation/AVFoundation.h> #import & ...

  7. ios开发 自定义btn_iOS——自定义button的几种方法

    自定义button主要分为两大类. 1.在UIButton的基础上,进行继承,更改button中imageView和label的位置和大小. 图文相对位置变化 2.使用UIView实现button构成 ...

  8. iOS开发——自定义下拉框

    先搭好架子,这几天填充. 转载于:https://www.cnblogs.com/yyt-hehe-yyt/p/5443123.html

  9. (iOS开发) 自定义悬浮按钮

    前几天接到个需求:在项目中添加一个悬浮按钮,每个页面都显示,而且受到命令跳转界面的时候(受到socket命令然后跳转页面),这个悬浮按钮跳转出来的View要不消失.下面就是我的处理方法以及Demo: ...

  10. ((ios开发学习笔记 十一))自定义TableViewCell 的方式实现自定义TableView(带源码)...

    实现的效果 实现过程 Step One 创建 自定义TableViewCell (接口部分)  (类实现部分)  xib 实现部分 注意: 下面三个设置 1 设置xib文件的class 2设置Iden ...

最新文章

  1. python初学者之网络爬虫_Python初学者之网络爬虫(二)
  2. 探讨PHP获取checkbox值
  3. 解决Spring Boot 整合Security后,所有接口提示Unauthorized、返回401
  4. dice系数什么意思_轮胎上的数字和字母是什么意思 轮胎上的红点黄点是什么意思...
  5. api与implementation的区别
  6. 【转载】这次拆库 应是微服务化的拆分方式
  7. Freemarker中通过request获得contextPath
  8. Python 2 结束支持,Ubuntu 20.04 LTS 继续进行将其移除的工作
  9. 函数栈帧的创建和销毁图解
  10. PAT甲级1019 回文数
  11. 使用tcl文件分配管脚
  12. 怎么调用获取被创建的预制体_PostgreSQL为每一个backend创建的cache
  13. 设计师胡晓丹的创作历程
  14. DOORS入门教程系列:基本概念介绍(一)
  15. hyd.modify
  16. python实验总结_python实训总结和体会_python实训心得体会 - CSDN
  17. slf4j的包使用说明
  18. Web前端Lec12 - HTTP协议
  19. 手机刷机是什么意思?快速了解手机刷机基本概念
  20. re 模块 常规方法使用

热门文章

  1. doubango安卓端的帧率太低,解决办法
  2. 解决办法:defined but not used [-Werror=unused-variable]
  3. AI连围棋都可以大胜,何况游戏
  4. 同是共享内存,shm_open与shmget有什么差异?
  5. html5中布局命名,HTML5 发展中的命名约定和微格式
  6. 连不通linux 27017,mongo --host 127.0.0.1:27017 报错连不上
  7. servicemix7 linux,学习ServiceMix笔记(三) 学习ServiceMix的基本命令之安装组件
  8. C# Excel 删除指定的工作表
  9. 做python自动化得时候怎么添加断言_python接口自动化(二十四)--unittest断言——中(详解)...
  10. unity3d 取锚点位置_点的投影