- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
UITableView?应用(五)UITableView样式的自定义
1.添加自定义的Cell。
这个问题已经涉及过,但是,这里要说的主要是两种方法的比较!
因为,我经常发现有两种方式:
1.xib方式
这种方式,也就是说,为自定义的UITableViewCell类添加一个xib的文件。并且让两者关联。
这时候,写法为:
?
// 返回cell
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
?? ?
? ? static NSString *CellIdentifier = @MyCell;
? ? // 自定义cell
? ???*cell = (MyCell?*)[tableVie?dequeueReusableCellWithIdentifier:CellIdentifier];
? ? if (cell == nil){
? ? ? ? // 这种方式,将会查找响应的xib文件,将不会调用initWithStyle方法
? ? ? ? NSArray *array = [[NSBundle mainBundle] loadNibNamed:@ owner:nil options:nil];
? ? ? ? cell = [array objectAtIndex:0];
? ? }
这种方式,是读取了xib文件,所以,就直接按照响应的xib中的布局,布局好了,并不会调用相应的initWithStyle方法。
2.调用initWithStyle方法
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
? ? static NSString *CellIdentifier = @MyCell;
? ? // 自定义cell
? ???*cell = (MyCell?*)[tableVie?dequeueReusableCellWithIdentifier:CellIdentifier];
? ? if (cell == nil){
? ? ? ? // 这种方式,将会调用cell中的initWithStyle方法
? ? ? ? cell = [[[MyCell alloc] initWithStyle:UITableViewCellSelectionStyleGray reuseIdentifier:CellIdentifier] autorelease];
? ? }
? ? return cell;
?? ?
}
这种方式,会调用相应Cell类的initWithStyle方法。
那么,什么时候,用那种方式呢?
我的理解是:
当,cell比较简单时,可以添加相应的xib文件,进行关联;当cell比较复杂时,就直接用纯代码的方式(不创建相应的xib文件)。
我发现,我还是喜欢用纯代码的方式来写,因为,扩展性好,尤其当cell元素复杂甚至带有动画效果的时候,用xib反而很难控制,或者根本无法控制。
我建议用纯代码的方式!
2.设置cell的setAccessoryView属性
主要用在:在右边添加一个自定义的按钮,或者子视图。
为setAccessoryView设置一个按钮。
cell.accessoryType = UITableViewCellAccessoryNone;
? ? UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
?? ?
? ? [button setFrame:CGRectMake(0.0, 0.0, 55, 57)];
? ? [button setImage:[UIImage imageNamed:@tap_normal.png] forState:UIControlStateNormal];
? ? [button setImage:[UIImage imageNamed:@tap_highlight.png] forState:UIControlStateHighlighted];
? ? [button setTag:indexPath.row];
? ? [button addTarget:self action:@selector(doClickPlaybillAction:event:)? forControlEvents:UIControlEventTouchUpInside];
? ? [b
您可能关注的文档
- TINY-C编译器的设计及实现-语法分析器的设计及实现.doc
- TinyOS在CC2530下的移植和AODV路由协议的实现.pdf
- TINY语言和其编译器实现.pdf
- TLC主要类型与原理.ppt
- TL-WN321G无线网卡的安装及使用.doc
- TM1功能介绍和典型用户.pdf
- TMN-MIB编译器实现研究.pdf
- tomcat配置与连接池原理.doc
- TOMCAT数据库连接池配置方法总结.doc
- Tomcat中数据源的配置与使用.doc
- 主题课程整理大班上.doc
- 2026人教版小学语文三年级上册期末综合试卷3套(打印版含答案解析).docx
- 2026人教版小学语文四年级下册期末综合试卷3套(打印版含答案解析).docx
- 2026人教版小学二年级上册数学期末综合试卷精选3套(含答案解析).docx
- 2026人教版小学语文四年级上册期末综合试卷3套(含答案解析).docx
- 2026人教版小学二年级下册数学期末综合试卷3套(打印版含答案解析).docx
- 2026年地理信息行业年终总结汇报PPT.pptx
- 板块四第二十一单元封建时代的欧洲和亚洲 中考历史一轮复习.pptx
- 中考历史一轮复习:板块四第二十单元古代亚、非、欧文明+课件.pptx
- 第二次工业革命和近代科学文化中考历史一轮复习.pptx
最近下载
- 地方政府大数据发展的现实与理想 .pdf
- 节能降碳知识竞赛.docx VIP
- 15D502 等电位联结安装(标准图集).pdf VIP
- 2024-2025学年北京海淀区七年级初一(上)期末历史试卷(含答案).pdf
- 矿井通风课程设计.pdf VIP
- 文华财经期货软件指标公式源码精准多空买卖点.doc VIP
- 2023-2024学年新疆乌鲁木齐市经开区八年级上学期期末数学试题及答案.pdf VIP
- 北京市海淀区2024-2025学年九年级上学期期末语文试题(含答案与解析).pdf VIP
- 医院食堂员工服务礼仪.pptx VIP
- Dify平台构建简单Agent全指南:零基础也能轻松上手.docx VIP
原创力文档


文档评论(0)