iPhone應(yīng)用開發(fā) UITableView學(xué)習(xí)點(diǎn)滴詳解
作者:佚名
本文介紹的是iPhone應(yīng)用開發(fā) UITableView學(xué)習(xí)點(diǎn)滴詳解,主要以代碼實(shí)現(xiàn),我們來(lái)看詳細(xì)內(nèi)容。
iPhone應(yīng)用開發(fā) UITableView學(xué)習(xí)點(diǎn)滴詳解是本文要介紹的內(nèi)容,內(nèi)容不多,主要是以代碼實(shí)現(xiàn)UITableView的學(xué)習(xí)點(diǎn)滴,我們來(lái)看內(nèi)容。
-、建立 UITableView
- DataTable = [[UITableView alloc] initWithFrame:CGRectMake(0, 0, 320, 420)];
- [DataTable setDelegate:self];
- [DataTable setDataSource:self];
- [self.view addSubview:DataTable];
- [DataTable release];
二、UITableView各Method說(shuō)明
- //Section總數(shù)
- - (NSArray *)sectionIndexTitlesForTableView:(UITableView *)tableView{
- return TitleData;
- }
- // Section Titles
- //每個(gè)section顯示的標(biāo)題
- - (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section{
- return @"";
- }
- //指定有多少個(gè)分區(qū)(Section),默認(rèn)為1
- - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
- return 4;
- }
- //指定每個(gè)分區(qū)中有多少行,默認(rèn)為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時(shí)的圖片
- cell.imageView.highlightedImage=highlightImage;//選中cell后的圖片
- cell.text=//.....
- return cell;
- }
- //行縮進(jìn)
- -(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)];
- //返回當(dāng)前所選cell
- NSIndexPath *ip = [NSIndexPath indexPathForRow:row inSection:section];
- [TopicsTable selectRowAtIndexPath:ip animated:YES scrollPosition:UITableViewScrollPositionNone];
- [tableView setSeparatorStyle:UITableViewCellSelectionStyleNone];
- //選中Cell響應(yīng)事件
- - (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;
- }
- //劃動(dòng)cell是否出現(xiàn)del按鈕
- - (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath {
- }
- //編輯狀態(tài)
- - (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle
- forRowAtIndexPath:(NSIndexPath *)indexPath
- {
- }
- [topicsTable setContentSize:CGSizeMake(0,controller.promiseNum * 44)];
- //右側(cè)添加一個(gè)索引表
- - (NSArray *)sectionIndexTitlesForTableView:(UITableView *)tableView{
- }
- //返回Section標(biāo)題內(nèi)容
- - (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section{
- }
- //自定義劃動(dòng)時(shí)del按鈕內(nèi)容
- - (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時(shí)的顏色
- 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];
小結(jié):iPhone應(yīng)用開發(fā) UITableView學(xué)習(xí)點(diǎn)滴詳解的內(nèi)容介紹完了,希望本文對(duì)你有所幫助!
責(zé)任編輯:zhaolei
來(lái)源:
互聯(lián)網(wǎng)