版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、心之所向,所向披靡 1. 首先,Controller 需要实现两个delegate,分别是 UlTableViewDelegate 和 UlTableViewDataSource 2. 然后UlTableView 对象的 delegate要设置为 self。 3. 然后就可以实现这些delegate的一些方法拉。 (1) - (NSInteger)numberOfSectionslnTableView:(UITableView *)tableView; 这个方法返回 tableview有多少个section cpp view plaincopyprint? 1. /返回有多少个Sections
2、 2. - (NSInteger)numberOfSectionslnTableView:(UITableView *)tableView 3. 4. return 1; 5. /返回有多少个Sections -(NSInteger)numberOfSectionsInTableView:(UITableView return 1; (2) - (NSInteger)tableView:(UITableView *)table nu mberOfRows In Sectio n:(NSI nteger)sectio n; 这个方法返回对应的section有多少个元素,也就是多少行。 cpp v
3、iew plaincopyprint? 1. - (NSInteger)tableView:(UITableView *)tableView numberOfRowslnSection:(NSInteger)section 2. 3. return 10; 4. -(NSInteger)tableView:(UITableView *)tableView number return 10; (3) - (CGFIoat)tableView:(UITableView *)tableView heightForRowAtl ndexPath:(NSI ndexPath *)i ndexPath;
4、这个方法返回指定的 row的高度。 -(CGFIoat)tableView:(UITableView *)tableView heightForHeaderI nSecti on :(NS In teger)sect ion; 这个方法返回指定的 section的header view 的高度。 -(CGFloat)tableView:(UITableView *)tableView heightForFooterI nSectio n:(NSI nteger)sectio n; 这个方法返回指定的 section的footer view 的高度。 (4) - (UITableViewCell
5、 *)tableView:(UITableView *)tableView cellForRowAtI ndexPath:(NSI ndexPath *)i ndexPath; 返回指定的row的cell。这个地方是比较关键的地方,一般在这个地方来定制各种个性化 的cell元素。这里只是使用最简单最基本 的cell类型。其中有一个主标题cell.textLabel还有一个副标题 cell.detailTextLabel, 还有 一个image在最前头叫 cell.imageView.还可以设置右边的图标,通过cell.accessoryType可以设置是饱满的向右 的蓝色箭头,还是单薄的向右箭
6、头, 还是勾勾标记。 cpp view plaincopyprint? 1. - (UlTableViewCell *)tableView:(UITableView *)tableView cellForRowAtlndexPath:(NSIndexPath *)indexPath 2. 3. static NSString * showUserlnfoCellldentifier = ShowUserlnfoCell; 4. UlTableViewCell * cell = tableView_ dequeueReusableCellWithldentifier:showUserlnfoCe
7、llldentifier; 5. if (cell = nil) 6. 7. / Create a cell to display an ingredient. 8. cell = UlTableViewCell alloc initWithStyle:UITableViewCellStyleSubtitle 9. reuseldentifier:showUserlnfoCellldentifier 10. autorelease; 11. 12. 13. / Configure the cell. 14. cell.textLabel.text=签名; 15. cell.detailText
8、Label.text = NSString stringWithCString:userlnfo.user_signature.c_str() encoding:NSUTF8StringEncoding; 16. 17. -(UlTableViewCell *)tableView:(UITableView *)tableVie static NSString * showUserlnfoCellldentifier = UlTableViewCell * cell = tableView_ dequeueRe if (cell = nil) / Create a cell to display
9、 an ingredi cell = UlTableViewCell alloc initW autorelease; / Configure the cell. cell.textLabel.text= 签名; cell.detailTextLabel.text = NSString stringWi (5) - (CGFIoat)tableView:(UITableView *)tableView heightForHeaderl nSecti on :(NS In teger)sect ion 返回指定的 section 的header的高度 cpp view plaincopyprin
10、t? 1. - (CGFIoat)tableView:(UITableView *)tableView heightForHeaderlnSection:(NSInteger)section 2. 3. if (section =0) 4. return 80.0f; 5. else 6. return 30.0f; 7. -(CGFloat)tableView:(UITableView *)tableView heightFo if (section =0) return 80.0f; else return 30.0f; (6) - (NSString *)tableView:(UITab
11、leView *)tableView titleForHeaderl nSecti on :(NS In teger)sect ion 返回指定的section 的header的title,如果这个 section header 有返回view,那么title 就不起作用了。 cpp view plaincopyprint? 1. - (NSString *)tableView:(UITableView *)tableView titleForHeaderlnSection:(NSInteger)section 2. 3. if (tableView = tableView_) 4. 5. i
12、f (section = 0) 6. 7. return title 1; 8. 9. else if (section = 1) 10. 11. return title 2; 12. 13. else 14. 15. return nil; 16. 17. 18. else 19. 20. return nil; 21. 22. -(NSString *)tableView:(UITableView *)tableView title view SettingHeaderView if (tableView = tableView_) _ if (section = 0) return t
13、itle 1; else if (section = 1) return title 2; else return nil; else return nil; (7) - (UIView *)tableView:(UITableView *)tableView viewForHeaderl nSectio n:(NSI nteger)sectio n 返回指定的 section header 的view,如果没有,这个函数可以不返回 cpp view plaincopyprint? 1. - (UIView *)tableView:(UITableView *)tableView viewFo
14、rHeaderlnSection:(NSInteger)section 2. 3. if (section = 0) 4. 5. 5. UIView* header = NSBundle mainBundle loadNibNamed: 6. owner: self 7. options: nil lastObject; 9. 8. else 9. 10. return nil; 11. 12. -(UlView *)tableView:(UITableView *)tableView viewFor if (section = 0) UIView* header = NSBundle mai
15、nBundl else return nil; (8) - (void)tableView:(UITableView *)tableView didSelectRowAtl ndexPath:(NSI ndexPath *)i ndexPath 当用户选中某个行的cell的时候,回调用这个。但是首先,必须设置tableview的一个属性 为可以select才行。 cpp view plaincopyprint? 1. TableView.allowsSelection=YES; TableView.allowsSelection=YES; cpp view plaincopyprint? 1.
16、 cell.selectionStyle=UITableViewCellSelectionStyleBlue; cell.selectionStyle=UITableViewCellSelectionStyleBlue; 如果不希望响应select,那么就可以用下面的代码设置属性: cpp view plaincopyprint? 1. TableView.allowsSelection=NO; TableView.allowsSelection=NO; 自己做出响应就好啦。 F面是响应select点击函数,根据哪个section,哪个row cpp view plaincopyprint?
17、1. - (void)tableView:(UITableView *)tableView didSelectRowAtlndexPath:(NSIndexPath *)indexPath 2. 3. if (indexPath.section = 1) 4. 5. return; 6. 7. else if(indexPath.section=O) 8. 9. switch (indexPath.row) 10. 11. /聊天 12. case 0: 13. 14. self onTalkToFriendBtn; 15. 16. break; 17. 17. default: 18. br
18、eak; 19. 20. 21. else 22. 23. return ; 24. 26. 27. -(void)tableView:(UITableView *)tableView didSelectRo if (indexPath.section = 1) return; else if(indexPath.section=O) switch (indexPath.row) /聊天 case 0: self onTalkToFriendB break; default: break; 如何让cell能够响应select,但是选中后的颜色又不发生改变呢,那么就设置 cell.selecti
19、o nStyle = UlTableViewCellSelectio nStyleNo ne; cpp view plaincopyprint? 1. - (UlTableViewCell *)tableView:(UITableView *)tableView cellForRowAtlndexPath:(NSIndexPath *)indexPath 2. 3. /cell 被选中后的颜色不变 4. cell.selectionStyle = UlTableViewCellSelectionStyleNone; 5. -(UITableViewCell *)tableView:(UITab
20、leView *)tableVie /cell被选中后的颜色不变 cell.selectionStyle = UITableViewCellSelectionStyl (9 )如何设置tableview 每行之间的 分割线 cpp view plaincopyprint? 1. self.tableView.separatorStyle=UITableViewCellSeparatorStyleSingleLine; self.tableView.separatorStyle=UITableViewCellSeparator 即可。 如果不需要分割线,那么就设置属性为UlTableViewCe
21、llSeparatorStyleN one (10 )如何设置tableview cell的背景颜色 1. - (UlTableViewCell *)tableView:(UITableView *)tableView cellForRowAtlndexPath:(NSIndexPath *)indexPath 2. 3. /设置背景颜色 4. cell.contentView.backgroundColor=UIColor colorWithRed:0.957 green:0.957 blue:0.957 alpha:1; 5. -(UITableViewCell *)tableView:(
22、UITableView *)tableVie /设置背景颜色 cell.contentView.backgroundColor=UICo (11 )- (void)tableView:(UITableView *)tableView accessoryButt on TappedForRowWithI ndexPath:(NSI ndexPath *)i ndexPath 这个函数响应,用户点击cell右边的 箭头(如果有的话) (12 )如何设置tableview可以被编辑 首先要进入编辑模式: cpp view plaincopyprint? 1. TableView setEditing
23、:YES animated:YES; TableView setEditing:YES animated:YES; 如果要退出编辑模式,肯定就是设置为NO -(UlTableViewCellEditi ngStyle)tableView:(UITableView *)tableView editi ngStyleForRowAtl ndexPath:(NSI ndexPath *)i ndexPath 返回当前cell要执行的是哪种编辑,下面的代码是返回删除模式 cpp view plaincopyprint? 1. - (UITableViewCellEditingStyle)tableVi
24、ew:(UITableView *)tableView editingStyleForRowAtlndexPath:(NSIndexPath *)indexPath 2. 3. return UlTableViewCellEditingStyleDelete; 4. -(UITableViewCellEditingStyle)tableView:(UITableView return UITableViewCellEditingStyleDelete; -(void) tableView:(UITableView *)aTableView commitEditingStyle:(UITable
25、ViewCellEditingStyle) editingStyle forRowAtl ndexPath:(NS In dexPath *)i ndexPath 通知告诉用户编辑了哪个cell,对应上面的代码,我们在这个函数里面执行删除cell的操 作。 cpp view plaincopyprint? 1. -(void) tableView:(UITableView *)aTableView 2. commitEditingStyle:(UITableViewCellEditingStyle) editingStyle 3. forRowAtlndexPath:(NSIndexPath
26、*)indexPath 4. 5. chatArray removeObjectAtlndex:indexPath.row; 6. chatTableView reloadData; 7. -(void) tableView:(UITableView *)aTableView commitEditingStyle:(UITableViewCellEditingStyle) editi forRowAtIndexPath:(NSIndexPath *)indexPath chatArray removeObjectAtIndex:indexPath.row chatTableView reloadData; (13 )如何获得某一行的CELL对象 -(UITableViewCell *)cellForRowAtl ndexPath:(NS In dexPath *)i ndexPath; 古希腊哲学大师亚里士多德说:人有两种,一种即 吃饭是为了活着”一种是 活着是为了吃饭”一个人之所以伟大,首先是因为他有超于常人的心。志当存高远”风物长宜放眼量”这些古语
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年考研(英语二)真题及参考答案
- 船体修造技术-大学专业介绍
- 财务合同培训心得体会
- 集体备课实施方案
- 自考《人力资源开发与管理》模拟题(二)及参考答案
- 钢筋工程施工方案范文
- 如何做用户规划方案
- 程序员发展规划
- 地球物理学专业生涯发展展示
- 一季度经营管理
- 2024年肝衰竭诊治指南要点内容解读课件
- 五年级上册数学试题试卷(8篇)
- 2024年典型事故案例警示教育手册15例
- 中国传世名画鉴赏智慧树知到期末考试答案2024年
- 20K607 防排烟及暖通防火设计审查与安装
- 学前教育大学生职业生涯规划
- 公共场所卫生许可证申请表
- 2024年中航集团招聘笔试参考题库含答案解析
- 信息化运维服务投标方案(技术标)
- 毕业设计基于STC89C52单片机的电子密码锁设计
- 宋代极简美学PPT课件
评论
0/150
提交评论