程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> UITableView詳解

UITableView詳解

編輯:C++入門知識

[cpp]   -、建立 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";     www.2cto.com     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             //改變換行線顏色lyttzx.com      tableView.separatorColor = [UIColor blueColor];    

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved