zoukankan      html  css  js  c++  java
  • UITableView详解

    UITableView详解

    //创建 UITableView(所在类中要遵从UITableView的 UITableViewDataSource和 UITableViewDelegate 协议)

    UITableView  *dataTable = [[UITableView alloc] initWithFrame:CGRectMake(0,0,320, 420)];

    dataTable.delegate =self;

    dataTable.dataSource =self;

    [self.view addSubview:dataTable];

    [dataTable release];


    // UITableView各Method说明

    // Section总数

    - (NSArray *)sectionIndexTitlesForTableView:(UITableView *)tableView{

      return TitleData;

    }


    // Section 显示的标题

    - (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section{

      return @"sectionA";

    }


    // 指定有多少个分区(Section),默认为1

    - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{

      return 4;

    }


    // 指定每个分区中有多少行,默认为1

    - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{

      return 1;

    }


    // 绘制Cell

    -(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{

      static NSString * SimpleTableIdentifier =@"SimpleTableIdentifier";

       UITableViewCell *cell = [tableViewdequeueReusableCellWithIdentifier:SimpleTableIdentifier];

      if (cell ==nil){

            cell = [[[UITableViewCellalloc] 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;

    }


    // 选中Cell响应事件

    - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{

      [tableView deselectRowAtIndexPath:indexPath animated:YES];//选中后的反显颜色即刻消失

    }


    // 判断选中的行(阻止选中第一行)

    -(NSIndexPath *)tableView:(UITableView *)tableView willSelectRowAtIndexPath:(NSIndexPath *)indexPath{

      NSUInteger row = [indexPathrow];

      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{

    }


    // 右侧添加一个索引表

    - (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];



    // 返回当前所选cell

    NSIndexPath *ip = [NSIndexPath indexPathForRow:row inSection:section];

    [tableView selectRowAtIndexPath:ip animated:YES scrollPosition:UITableViewScrollPositionNone];

    // 设置分割线

    [tableView setSeparatorStyle:UITableViewCellSelectionStyleNone];


    // 定位

    [tableView setContentOffset:CGPointMake(0, promiseNum *44 + Chapter *20)];

    [tableView setContentSize:CGSizeMake(0, controller.promiseNum *44)];


    // 设置分割线

    [tableView setSeparatorStyle:UITableViewCellSelectionStyleNone];


    // 选中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];


    // 去掉cell的选中背景

    [tableViewdeselectRowAtIndexPath:indexPath animated:YES];


    // 设置分割线

    [tableView setSeparatorStyle:UITableViewCellSelectionStyleNone];


    // 在UITableViewCell上建立UILable多行显示

    - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{

      static NSString * CellIdentifier =@"Cell";

      UITableViewCell *cell = [tableViewdequeueReusableCellWithIdentifier:CellIdentifier];

      if (cell ==nil){

      cell = [[[UITableViewCellalloc] initWithFrame:CGRectZeroreuseIdentifier:CellIdentifier] autorelease];

      UILabel *datalabel = [[UILabelalloc] initWithFrame:CGRectMake(10,0,320,44)];

      [datalabel setTag:100];

      datalabel.autoresizingMask =UIViewAutoresizingFlexibleWidth |UIViewAutoresizingFlexibleHeight;

      [cell.contentViewaddSubview:datalabel];

      [datalabel release];

      }

      UILabel *datalabel = (UILabel *)[cell.contentViewviewWithTag:100];

      [datalabel setFont:[UIFontboldSystemFontOfSize:18]];

      datalabel.text = [data.DataArray objectAtIndex:indexPath.row];

      cell.accessoryType =UITableViewCellAccessoryDisclosureIndicator;

      return cell;

    }

  • 相关阅读:
    在vue-cli中使用mock.js详解
    canvas水波纹效果
    echarts颜色渐变
    前端单词大全
    vue.js商城购买选择界面
    网站炫酷效果
    vue-cli中路由配置新写法
    Render函数
    XHTML与HTML的区别
    iview的table中点击Icon弹Poptip,render函数的写法
  • 原文地址:https://www.cnblogs.com/xuhongwei/p/5046543.html
Copyright © 2011-2022 走看看