UITableView 基本使用方法总结Word下载.docx
《UITableView 基本使用方法总结Word下载.docx》由会员分享,可在线阅读,更多相关《UITableView 基本使用方法总结Word下载.docx(10页珍藏版)》请在冰豆网上搜索。
(UITableView*)tablenumberOfRowsInSection:
(NSInteger)section;
这个方法返回
对应的section有多少个元素,也就是多少行。
1.-
(NSInteger)tableView:
numberOfRowsInSection:
(NSInteger)section
2.{
3.
10;
4.}
(3)-(CGFloat)tableView:
(UITableView*)tableViewheightForRowAtIndexPath:
(NSIndexPath*)indexPath;
这个方法返回指定的row的高度。
-(CGFloat)tableView:
(UITableView*)tableViewheightForHeaderInSection:
这个方法返回指定的section的headerview的高度。
(UITableView*)tableViewheightForFooterInSection:
这个方法返回指定的section的footerview的高度。
(4)-(UITableViewCell*)tableView:
(UITableView*)tableViewcellForRowAtIndexPath:
返回指定的row的cell。
这个地方是比较关键的地方,一般在这个地方来定制各种个性化的cell元素。
这里只是使用最简单最基本
的cell类型。
其中有一个主标题cell.textLabel还有一个副标题cell.detailTextLabel,
还有一个image在最前头叫
cell.imageView.
还可以设置右边的图标,通过cell.accessoryType
可以设置是饱满的向右的蓝色箭头,还是单薄的向右箭头,
还是勾勾标记。
(UITableViewCell
*)tableView:
cellForRowAtIndexPath:
(NSIndexPath
*)indexPath
static
NSString
*
showUserInfoCellIdentifier
=
@"
ShowUserInfoCell"
;
UITableViewCell
cell
[tableView_
dequeueReusableCellWithIdentifier:
showUserInfoCellIdentifier];
5.
if
(cell
==
nil)
6.
{
7.
//
Create
a
to
display
an
ingredient.
8.
[[[UITableViewCell
alloc]
initWithStyle:
UITableViewCellStyleSubtitle
9.
reuseIdentifier:
showUserInfoCellIdentifier]
10.
autorelease];
11.
}
12.
13.
Configure
the
cell.
14.
cell.textLabel.text=@"
签名"
15.
cell.detailTextLabel.text
[NSString
stringWithCString:
userInfo.user_signature.c_str()
encoding:
NSUTF8StringEncoding];
16.
17.
(5)-(CGFloat)tableView:
(NSInteger)section
返回指定的section的header的高度
(CGFloat)tableView:
heightForHeaderInSection:
(section
==0)
80.0f;
else
30.0f;
7.}
(6)-(NSString*)tableView:
(UITableView*)tableViewtitleForHeaderInSection:
返回指定的section的header
的title,如果这个sectionheader
有返回view,那么title就不起作用了。
(NSString
titleForHeaderInSection:
(tableView
tableView_)
0)
title
1"
1)
2"
nil;
18.
19.
20.
21.
22.}
(7)
-(UIView*)tableView:
(UITableView*)tableViewviewForHeaderInSection:
返回指定的sectionheader的view,如果没有,这个函数可以不返回view
(UIView
viewForHeaderInSection:
UIView*
header
[[[NSBundle
mainBundle]
loadNibNamed:
SettingHeaderView"
owner:
self
options:
nil]
lastObject];
14.}
(8)
-(void)tableView:
(UITableView*)tableViewdidSelectRowAtIndexPath:
(NSIndexPath*)indexPath
当用户选中某个行的cell的时候,回调用这个。
但是首先,必须设置tableview的一个属性为可以select才行。
1.TableView.allowsSelection=YES;
1.cell.selectionStyle=UITableViewCellSelectionStyleBlue;
如果不希望响应select,那么就可以用下面的代码设置属性:
1.TableView.allowsSelection=NO;
下面是响应select点击函数,根据哪个section,哪个row自己做出响应就好啦。
(void)tableView:
didSelectRowAtIndexPath:
(indexPath.section
return;
if(indexPath.section==0)
switch
(indexPath.row)
//聊天
case
0:
[self
onTalkToFriendBtn];
break;
default:
22.
23.
24.
25.
26.
27.}
如何让cell能够响应select,但是选中后的颜色又不发生改变呢,那么就设置
cell.selectionStyle=UITableViewCellSelectionStyleNone;
2.{
//cell被选中后的颜色不变
cell.selectionStyle
UITableViewCellSelectionStyleNone;
5.}
(9)如何设置tableview
每行之间的分割线
1.self.tableView.separatorStyle=UITableViewCellSeparatorStyleSingleLine;
如果不需要分割线,那么就设置属性为
UITableViewCellSeparatorStyleNone
即可。
(10)如何设置tableviewcell的背景颜色
//设置背景颜色
cell.contentView.backgroundColor=[UIColor
colorWithRed:
0.957
green:
blue:
alpha:
1];
(11)
(UITableView*)tableViewaccessoryButtonTappedForRowWithIndexPath:
这个函数响应,用户点击cell右边的箭头(如果有的话)
(12)如何设置tableview可以被编辑
首先要进入编辑模式:
1.[TableView
setEditing:
YES
animated:
YES];
如果要退出编辑模式,肯定就是设置为NO
-(UITableViewCellEditingStyle)tableView:
(UITableView*)tableVieweditingStyleForRowAtIndexPath:
返回当前cell
要执行的是哪种编辑,下面的代码是返回删除
模式
(UITableViewCellEditingStyle)tableView:
editingStyleForRowAtIndexPath:
UITableViewCellEditingStyleDelete;
-(void)tableView:
(UITableView*)aTableView
commitEditingStyle:
(UITableViewCellEditingStyle)editingStyle
forRowAtIndexPath:
通知告诉用户编辑了哪个cell,对应上面的代码,我们在这个函数里面执行删除cell的操作。
1.-(void)
tableView:
*)aTableView
2.commitEditingStyle:
(UITableViewCellEditingStyle)
editingStyle
3.forRowAtIndexPath:
4.{
[chatArray
removeObjectAtIndex:
indexPath.row];
[chatTableView
reloadData];
7.}