UITableViewCell awakeFromNib
纯代码
则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相关推荐
- (0072)iOS开发之UITableViewCell高度自适应探索--cell预估高度
转载自:http://www.jianshu.com/p/f3609cd9392e 有了预估高度这个先决条件,一切都好说了.我们直接从代码入手. 接下来我们实现一个简单的信息展示功能,如: Demo最 ...
- UITableViewCell中设置动态大小的圆形imageview
2019独角兽企业重金招聘Python工程师标准>>> 在一个自定义的UITableViewCell里有一个imageview需要显示成圆形,因为它的宽高是autolayout动态设 ...
- UITableViewCell自定义高度
第一步 在ViewController里,需要有数据,即就是数组, 第二步 创建一个UITableViewCell .h文件中定义两个属性 分别是 一个字符串(用来赋值在TableViewcell ...
- 如何改变UITableViewCell的选中样式(颜色)?storyboard上cell的selection不可用?
想要改变cell被选中后的颜色,看到storyboard上有个selection,很兴奋,改一下蓝色试试,结果不管用.. 原因: developer.apple.com/documentati- 官方 ...
- 使用第三方《UITableView+FDTemplateLayoutCell》自动计算UITableViewCell高度(Masonry约束)...
直接上代码: 1:先自定义cell .h文件中 #import <UIKit/UIKit.h> #import "LBDNewMsgListModel.h" #impo ...
- 【swift学习笔记】三.使用xib自定义UITableViewCell
使用xib自定义tableviewCell看一下效果图 1.自定义列 新建一个xib文件 carTblCell,拖放一个UITableViewCell,再拖放一个图片和一个文本框到tableviewc ...
- PureCode--iOS--自定义UITableViewCell(含疑问)
纯代码编写的简单自定义UITableViewCell: 1.像处理普通视图一样处理Cell: clsTableViewCell.h: 1 #import <UIKit/UIKit.h> 2 ...
- Swift 使用xib自定义UITableViewCell
使用xib自定义tableviewCell看一下效果图 1.自定义列 新建一个xib文件 carTblCell,拖放一个UITableViewCell,再拖放一个图片和一个文本框到tableviewc ...
- awakefromnib和registernib
initWithFrame,initWithCoder,awakeFromNib的区别_oik_ios的博客-CSDN博客 自定义UITableViewCell(registerNib: 与 regi ...
最新文章
- 第6章:可维护性软件构建方法 6.2可维护性设计模式
- cenos7 阿里云数据库扩容步骤
- linux内核pwn,[内核pwn] 环境搭建
- python web 框架例子_最快的 Python Web 框架入门
- javax.management.InstanceNotFoundException: com.alibaba.druid:type=DruidStatService ERROR com.aliba
- Nacos支持三种部署模式
- 如何在一行 rm -rf 的基础上释放 Mac 上的内存空间?
- java空间大战,看这篇足矣了!
- 【ICLR2020】会议的16篇最佳深度学习论文
- arcgis js平滑线工具_Arcgis中文字体、平滑线插件使用说明
- Android TextToSpeech TTS中文文本转语音(语音合成)
- 查理·芒格:投资与人生皆是自我修行-1
- 云平台仿真框架cloudsim介绍
- 再看快速排序(QuickSort)
- 我的工作必装软件清单
- oracle导入blob出错,oracle导出blob,clob出错的问题
- 火狐浏览器不兼容event问题
- 【JavaSE】面向对象之多态、向上转型与向下转型
- html5游戏截图分享,那些精妙绝伦的官方游戏截图,其实是这样做出来的
- 初级爬虫-获取网络图片
热门文章
- iPhone4 的Home失灵解决方法
- 【java毕业设计】基于java+Eclipse的飞机大战游戏设计与实现(毕业论文+程序源码)——飞机大战游戏
- 计算机设备购置清单,计算机硬件实验室设备采购清单
- HMS Core赋能移动金融,为行业注入增长新动力
- html5下拉幻灯片插件,基于WebGL的炫酷2D幻灯片插件
- uni-App小程序、canvas 生成海报 +下载图片+分享微信好友
- C++中模板类map常用示例
- MySQL 语句级避免重复插入—— Insert Select Not Exist
- Delphi 虚拟桌面
- 正在尝试找到正确的道路......