1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
|
//-、建立
UITableView DataTable
= [[UITableView alloc] initWithFrame:CGRectMake(0, 0, 320, 420)]; [DataTable
setDelegate:self]; [DataTable
setDataSource:self]; [self.view
addSubview:DataTable]; [DataTable
release]; //二、UITableView各Method说明 //Section总数 -
(NSArray *)sectionIndexTitlesForTableView:(UITableView *)tableView{ return
TitleData; } //
Section Titles //每个section显示的标题 -
(NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section{ return
@ "" ; } //指定有多少个分区(Section),默认为1 -
(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { return
4; } //指定每个分区中有多少行,默认为1 -
(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{ } //绘制Cell -(UITableViewCell
*)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { static
NSString *SimpleTableIdentifier = @ "SimpleTableIdentifier" ; UITableViewCell
*cell = [tableView dequeueReusableCellWithIdentifier: SimpleTableIdentifier]; if
(cell == nil) { cell
= [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:
SimpleTableIdentifier] autorelease]; } cell.imageView.image=image; //未选cell时的图片 cell.imageView.highlightedImage=highlightImage; //选中cell后的图片 cell.text= //..... return
cell; } //行缩进 -(NSInteger)tableView:(UITableView
*)tableView indentationLevelForRowAtIndexPath:(NSIndexPath *)indexPath{ NSUInteger
row = [indexPath row]; return
row; } //改变行的高度 -
(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{ return
40; } //定位 [TopicsTable
setContentOffset:CGPointMake(0, promiseNum * 44 + Chapter * 20)]; //返回当前所选cell NSIndexPath
*ip = [NSIndexPath indexPathForRow:row inSection:section]; [TopicsTable
selectRowAtIndexPath:ip animated:YES scrollPosition:UITableViewScrollPositionNone]; [tableView
setSeparatorStyle:UITableViewCellSelectionStyleNone]; //选中Cell响应事件 -
( void )tableView:(UITableView
*)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{ [tableView
deselectRowAtIndexPath:indexPath animated:YES]; //选中后的反显颜色即刻消失 } //判断选中的行(阻止选中第一行) -(NSIndexPath
*)tableView:(UITableView *)tableView willSelectRowAtIndexPath:(NSIndexPath *)indexPath { NSUInteger
row = [indexPath row]; if
(row == 0) return
nil; return
indexPath; } //划动cell是否出现del按钮 -
( BOOL )tableView:(UITableView
*)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath { } //编辑状态 -
( void )tableView:(UITableView
*)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath
*)indexPath { } [topicsTable
setContentSize:CGSizeMake(0,controller.promiseNum * 44)]; //右侧添加一个索引表 -
(NSArray *)sectionIndexTitlesForTableView:(UITableView *)tableView{ } //返回Section标题内容 -
(NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section{ } //自定义划动时del按钮内容 -
(NSString *)tableView:(UITableView *)tableView titleForDeleteConfirmationButtonForRowAtIndexPath:(NSIndexPath
*)indexPath //跳到指的row
or section [tableView
scrollToRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:0] atScrollPosition:UITableViewScrollPositionBottom animated:NO]; 三、在UITableViewCell上建立UILable多行显示 -
(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { static
NSString *CellIdentifier = @ "Cell" ; UITableViewCell
*cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; if
(cell == nil) { cell
= [[[UITableViewCell alloc] initWithFrame:CGRectZero reuseIdentifier:CellIdentifier] autorelease]; UILabel
*Datalabel = [[UILabel alloc] initWithFrame:CGRectMake(10, 0, 320, 44)]; [Datalabel
setTag:100]; Datalabel.autoresizingMask
= UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight; [cell.contentView
addSubview:Datalabel]; [Datalabel
release]; } UILabel
*Datalabel = (UILabel *)[cell.contentView viewWithTag:100]; [Datalabel
setFont:[UIFont boldSystemFontOfSize:18]]; Datalabel.text
= [data.DataArray objectAtIndex:indexPath.row]; cell.accessoryType
= UITableViewCellAccessoryDisclosureIndicator; return
cell; } //选中cell时的颜色 typedef
enum
{ UITableViewCellSelectionStyleNone, UITableViewCellSelectionStyleBlue, UITableViewCellSelectionStyleGray }
UITableViewCellSelectionStyle //cell右边按钮格式 typedef
enum
{ UITableViewCellAccessoryNone, //
don't show any accessory view UITableViewCellAccessoryDisclosureIndicator, //
regular chevron. doesn't track UITableViewCellAccessoryDetailDisclosureButton, //
blue button w/ chevron. tracks UITableViewCellAccessoryCheckmark //
checkmark. doesn't track }
UITableViewCellAccessoryType //是否加换行线 typedef
enum
{ UITableViewCellSeparatorStyleNone, UITableViewCellSeparatorStyleSingleLine }
UITableViewCellSeparatorStyle //改变换行线颜色 tableView.separatorColor
= [UIColor blueColor]; |
UITableView的用法详解
最新推荐文章于 2025-08-09 00:54:46 发布