纯代码

则tableViewCell类中需实现 initWithStyle:reuseIdentifier:

@implementation MyCell- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier
{self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];if (self) {// Initialization code//创建自定义单元格中控件self.myImageView = [[UIImageView alloc]initWithFrame:CGRectMake(10, 10, 120, 120)];UILabel *nameLabel = [[UILabel alloc]initWithFrame:CGRectMake(160, 45, 51, 21)];nameLabel.text = @"姓名:";self.nameLabel = [[UILabel alloc]initWithFrame:CGRectMake(239, 45, 51, 21)];UILabel *nicknameLabel = [[UILabel alloc]initWithFrame:CGRectMake(160, 80, 51, 21)];nicknameLabel.text = @"昵称:";self.nicknameLabel = [[UILabel alloc]initWithFrame:CGRectMake(239, 80, 51, 21)];//加入单元格内容视图中[self.contentView addSubview:self.myImageView];[self.contentView addSubview:nameLabel];[self.contentView addSubview:self.nameLabel];[self.contentView addSubview:nicknameLabel];[self.contentView addSubview:self.nicknameLabel];}return self;
}

调用该cell的tableView中只需在下面方法中将系统默认的UITableViewCell替换成自己的类

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{//创建可重用标识符static NSString *cellID = @"cellID";//首先从出列可重用队列中获取单元格MyCell *cell = [tableView dequeueReusableCellWithIdentifier:cellID];//如果没有则创建单元格if (!cell) {cell = [[MyCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellID];}//获取Student对象Student *stu = self.students[indexPath.row];// Configure the cell...//设置自定义单元格的内容
//    cell.myImageView.image = stu.icon;
//    cell.nameLabel.text = stu.name;
//    cell.nicknameLabel.text = stu.nickname;[cell bind:stu];//绑定数据return cell;
}

纯xib

新建newFile-userInterface-empty

然后拖入tableViewCell控件。

实现代码如下。其中 if (!isRegister)部分可以放在viewDidLoad中。

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{//创建可重用标识符static NSString *cellID = @"cellID";//注册xib,生成单元格对象,只需注册一次就放入出列可重用队列中,以后直接从出列可重用队列中获取此单元格对象即可static BOOL isRegister = NO;//是否注册过标识if (!isRegister) {//如果没有注册过,则注册UINib *nib = [UINib nibWithNibName:@"MyCell" bundle:nil];[tableView registerNib:nib forCellReuseIdentifier:cellID];isRegister = YES;//设置注册标志位}//从出列可重用队列中获取单元格UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellID forIndexPath:indexPath];//获取Student对象Student *stu = self.students[indexPath.row];// Configure the cell...//设置自定义单元格的内容UIImageView *imageView = (UIImageView *)[cell viewWithTag:100];imageView.image = stu.icon;UILabel *nameLabel = (UILabel *)[cell viewWithTag:101];nameLabel.text = stu.name;UILabel *nickNameLabel = (UILabel *)[cell viewWithTag:102];nickNameLabel.text = stu.nickname;return cell;
}

代码+xib

.m .h .xib三者取同样的名字

cell中实现

<span class="s3">//</span><span class="s14">代码加</span><span class="s3">xib</span><span class="s14">混合</span>
- (void)awakeFromNib {// Initialization codeself.backgroundColor=[UIColor greenColor];_btn.backgroundColor=[UIColor orangeColor];}

调用该cell 的tableView中实现

- (void)viewDidLoad {[super viewDidLoad];[self.tableView registerNib:[UINib nibWithNibName:@"TableViewCell" bundle:nil] forCellReuseIdentifier:@"cell"];
}- (void)didReceiveMemoryWarning {[super didReceiveMemoryWarning];
}#pragma mark - Table view data source- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {return 2;
}- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {return 10;
}- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {static NSString *cellID = @"cell";//首先从出列可重用队列中获取单元格TableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellID];//如果没有才创建单元格对象if (!cell) {cell = [[TableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellID];}NSLog(@"%@",NSStringFromCGRect(cell.contentView.frame));NSLog(@"%@",NSStringFromCGRect( cell.frame));return cell;
}

UITableViewCell awakeFromNib相关推荐

  1. (0072)iOS开发之UITableViewCell高度自适应探索--cell预估高度

    转载自:http://www.jianshu.com/p/f3609cd9392e 有了预估高度这个先决条件,一切都好说了.我们直接从代码入手. 接下来我们实现一个简单的信息展示功能,如: Demo最 ...

  2. UITableViewCell中设置动态大小的圆形imageview

    2019独角兽企业重金招聘Python工程师标准>>> 在一个自定义的UITableViewCell里有一个imageview需要显示成圆形,因为它的宽高是autolayout动态设 ...

  3. UITableViewCell自定义高度

    第一步  在ViewController里,需要有数据,即就是数组, 第二步 创建一个UITableViewCell .h文件中定义两个属性 分别是 一个字符串(用来赋值在TableViewcell ...

  4. 如何改变UITableViewCell的选中样式(颜色)?storyboard上cell的selection不可用?

    想要改变cell被选中后的颜色,看到storyboard上有个selection,很兴奋,改一下蓝色试试,结果不管用.. 原因: developer.apple.com/documentati- 官方 ...

  5. 使用第三方《UITableView+FDTemplateLayoutCell》自动计算UITableViewCell高度(Masonry约束)...

    直接上代码: 1:先自定义cell .h文件中 #import <UIKit/UIKit.h> #import "LBDNewMsgListModel.h" #impo ...

  6. 【swift学习笔记】三.使用xib自定义UITableViewCell

    使用xib自定义tableviewCell看一下效果图 1.自定义列 新建一个xib文件 carTblCell,拖放一个UITableViewCell,再拖放一个图片和一个文本框到tableviewc ...

  7. PureCode--iOS--自定义UITableViewCell(含疑问)

    纯代码编写的简单自定义UITableViewCell: 1.像处理普通视图一样处理Cell: clsTableViewCell.h: 1 #import <UIKit/UIKit.h> 2 ...

  8. Swift 使用xib自定义UITableViewCell

    使用xib自定义tableviewCell看一下效果图 1.自定义列 新建一个xib文件 carTblCell,拖放一个UITableViewCell,再拖放一个图片和一个文本框到tableviewc ...

  9. awakefromnib和registernib

    initWithFrame,initWithCoder,awakeFromNib的区别_oik_ios的博客-CSDN博客 自定义UITableViewCell(registerNib: 与 regi ...

最新文章

  1. 第6章:可维护性软件构建方法 6.2可维护性设计模式
  2. cenos7 阿里云数据库扩容步骤
  3. linux内核pwn,[内核pwn] 环境搭建
  4. python web 框架例子_最快的 Python Web 框架入门
  5. javax.management.InstanceNotFoundException: com.alibaba.druid:type=DruidStatService ERROR com.aliba
  6. Nacos支持三种部署模式
  7. 如何在一行 rm -rf 的基础上释放 Mac 上的内存空间?
  8. java空间大战,看这篇足矣了!
  9. 【ICLR2020】会议的16篇最佳深度学习论文
  10. arcgis js平滑线工具_Arcgis中文字体、平滑线插件使用说明
  11. Android TextToSpeech TTS中文文本转语音(语音合成)
  12. 查理·芒格:投资与人生皆是自我修行-1
  13. 云平台仿真框架cloudsim介绍
  14. 再看快速排序(QuickSort)
  15. 我的工作必装软件清单
  16. oracle导入blob出错,oracle导出blob,clob出错的问题
  17. 火狐浏览器不兼容event问题
  18. 【JavaSE】面向对象之多态、向上转型与向下转型
  19. html5游戏截图分享,那些精妙绝伦的官方游戏截图,其实是这样做出来的
  20. 初级爬虫-获取网络图片

热门文章

  1. iPhone4 的Home失灵解决方法
  2. 【java毕业设计】基于java+Eclipse的飞机大战游戏设计与实现(毕业论文+程序源码)——飞机大战游戏
  3. 计算机设备购置清单,计算机硬件实验室设备采购清单
  4. HMS Core赋能移动金融,为行业注入增长新动力
  5. html5下拉幻灯片插件,基于WebGL的炫酷2D幻灯片插件
  6. uni-App小程序、canvas 生成海报 +下载图片+分享微信好友
  7. C++中模板类map常用示例
  8. MySQL 语句级避免重复插入—— Insert Select Not Exist
  9. Delphi 虚拟桌面
  10. 正在尝试找到正确的道路......