IOS开发自定义tableviewcell的注意点
自定义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的注意点相关推荐
- iOS开发自定义键盘回车键Return Key
在iOS开发中,用户在进行文本输入的时候,往往会用到虚拟键盘上的回车键,也就是Return Key.回车键有时候可以是"完成"(表示输入结束),可以是"下一项" ...
- ios开发 自定义btn_iOS一步步实现一个高度自定义UIButton控件
需求背景 日常开发中UIButton的图片与标题默认的布局是固定的,是在水平方向左右排列.但是我们会经常需要更改image和title的位置来实现需求,这是个很常见的需求就不多说了.所以下面就来谈谈如 ...
- iOS开发-自定义UIAlterView(iOS 7)
App中不可能少了弹框,弹框是交互的必要形式,使用起来也非常简单,不过最近需要自定义一个弹框,虽然iOS本身的弹框已经能满足大部分的需求,但是不可避免还是需要做一些自定义的工作.iOS7之前是可以自定 ...
- iOS开发-------自定义简单的表情键盘(UICollectionView 集合视图)
最近制作自制表情键盘的时候,突然了解到还有一个叫做UICollectionView (集合视图)的类,就研究了一下,确实在做表情键盘上要比用 UIScrollView(滚动视图) 要简单的多,用法与 ...
- iOS开发之--TableViewCell重用机制避免重复显示问题
常规配置如下 当超过tableView显示的范围的时候 后面显示的内容将会和前面重复 // 这样配置的话超过页面显示的内容会重复出现 - (UITableViewCell *)tableView:(U ...
- iOS开发-自定义相机(仿微信)拍照、视频录制
网上有很多自定义相机的例子,这里只是我临时写的一个小demo,仅供参考: 用到了下面几个库: #import <AVFoundation/AVFoundation.h> #import & ...
- ios开发 自定义btn_iOS——自定义button的几种方法
自定义button主要分为两大类. 1.在UIButton的基础上,进行继承,更改button中imageView和label的位置和大小. 图文相对位置变化 2.使用UIView实现button构成 ...
- iOS开发——自定义下拉框
先搭好架子,这几天填充. 转载于:https://www.cnblogs.com/yyt-hehe-yyt/p/5443123.html
- (iOS开发) 自定义悬浮按钮
前几天接到个需求:在项目中添加一个悬浮按钮,每个页面都显示,而且受到命令跳转界面的时候(受到socket命令然后跳转页面),这个悬浮按钮跳转出来的View要不消失.下面就是我的处理方法以及Demo: ...
- ((ios开发学习笔记 十一))自定义TableViewCell 的方式实现自定义TableView(带源码)...
实现的效果 实现过程 Step One 创建 自定义TableViewCell (接口部分) (类实现部分) xib 实现部分 注意: 下面三个设置 1 设置xib文件的class 2设置Iden ...
最新文章
- python初学者之网络爬虫_Python初学者之网络爬虫(二)
- 探讨PHP获取checkbox值
- 解决Spring Boot 整合Security后,所有接口提示Unauthorized、返回401
- dice系数什么意思_轮胎上的数字和字母是什么意思 轮胎上的红点黄点是什么意思...
- api与implementation的区别
- 【转载】这次拆库 应是微服务化的拆分方式
- Freemarker中通过request获得contextPath
- Python 2 结束支持,Ubuntu 20.04 LTS 继续进行将其移除的工作
- 函数栈帧的创建和销毁图解
- PAT甲级1019 回文数
- 使用tcl文件分配管脚
- 怎么调用获取被创建的预制体_PostgreSQL为每一个backend创建的cache
- 设计师胡晓丹的创作历程
- DOORS入门教程系列:基本概念介绍(一)
- hyd.modify
- python实验总结_python实训总结和体会_python实训心得体会 - CSDN
- slf4j的包使用说明
- Web前端Lec12 - HTTP协议
- 手机刷机是什么意思?快速了解手机刷机基本概念
- re 模块 常规方法使用
热门文章
- doubango安卓端的帧率太低,解决办法
- 解决办法:defined but not used [-Werror=unused-variable]
- AI连围棋都可以大胜,何况游戏
- 同是共享内存,shm_open与shmget有什么差异?
- html5中布局命名,HTML5 发展中的命名约定和微格式
- 连不通linux 27017,mongo --host 127.0.0.1:27017 报错连不上
- servicemix7 linux,学习ServiceMix笔记(三) 学习ServiceMix的基本命令之安装组件
- C# Excel 删除指定的工作表
- 做python自动化得时候怎么添加断言_python接口自动化(二十四)--unittest断言——中(详解)...
- unity3d 取锚点位置_点的投影