码迷,mamicode.com
首页 > 移动开发 > 详细

IOS UI基础07

时间:2015-08-05 23:58:25      阅读:290      评论:0      收藏:0      [点我收藏+]

标签:

  • TableView

    • 属性

      
         // 设置每一行cell的高度
         @property (nonatomic)CGFloat rowHeight;
         // 设置每一组头部的高度
         @property (nonatomic)CGFloat sectionHeaderHeight;
         // 设置分割线颜色
         @property (nonatomic, retain) UIColor *separatorColor
         // 设置表头控件
         @property (nonatomic, retain) UIView *tableHeaderView;
         // 设置表尾控件
         @property (nonatomic, retain) UIView *tableFooterView;
         // 2.组头组尾的高
         self.tableView.sectionHeaderHeight = 55;
         self.tableView.sectionFooterHeight = 22;
      
         // 3.设置整个tablView的头部/尾部视图
         self.tableView.tableHeaderView = [[UISwitch alloc] init];
         self.tableView.tableFooterView = [UIButton buttonWithType:UIButtonTypeInfoDark];
      
         // 4.设置我们分割线颜色(clearColor相当于取消系统分割线)
         //self.tableView.separatorColor = [UIColor clearColor];
      
        // 5.设置分割线样式
         self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone;
      
    • 数据源方法
        //cell有多少组
      -(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
       //告诉tableView第section组有多少行
      -(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
      //告诉tableView每一行显示什么内容(tableView的每一行都是UITableViewCell)
      -(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
       //告诉tableView第section组的头部标题文字
      -(NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section
       // 告诉tableView第section组的尾部标题文字
      -(NSString *)tableView:(UITableView *)tableView titleForFooterInSection:(NSInteger)section
      //返回每一组的索引标题
      - (NSArray *)sectionIndexTitlesForTableView:(UITableView *)tableView
       // 返回每个cell的高度
       -(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
      //删除数据
      - (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath;
      //
      
    • 代理方法
       // 只要实现了这个方法,左滑出现按钮的功能就有了(一旦左滑出现了N个按钮,tableView就进入了编辑模式, tableView.editing = YES)

         -(void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath


     //左滑cell时出现什么按钮

       -(NSArray *)tableView:(UITableView *)tableView editActionsForRowAtIndexPath:(NSIndexPath *)indexPath
    {
      UITableViewRowAction *action0 = [UITableViewRowAction rowActionWithStyle:UITableViewRowActionStyleNormal title:@"关注" handler:^(UITableViewRowAction *action, NSIndexPath *indexPath) {
        NSLog(@"点击了关注");

        // 收回左滑出现的按钮(退出编辑模式)
        tableView.editing = NO;
    }];

    UITableViewRowAction *action1 = [UITableViewRowAction rowActionWithStyle:UITableViewRowActionStyleDefault title:@"删除" handler:^(UITableViewRowAction *action, NSIndexPath *indexPath) {
        [self.wineArray removeObjectAtIndex:indexPath.row];
        [tableView deleteRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationAutomatic];
    }];

    return @[action1, action0];
}

    //代理方法获取点滴选中行,行号
    - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath;
    //允许编辑选中行
    - (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath;
  • UITableViewCell

    • 属性:
      //设置cell右边的指示样式
      //accessoryView的优先级 > accessoryType
      //cell.accessoryView = [[UISwitch alloc] init];
      @property (nonatomic) UITableViewCellAccessoryType    accessoryType;
      // default is UITableViewCellAccessoryNone. use to set standard type
      
    • Cell 创建

      • 注册创建

        [self.tableview registerClass:[UITableViewCell class] forCellReuseIdentifier:ID];
        //注册后可以直接从缓存中找创建好的
        UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:ID];
        
      • 非注册创建

        • 先从缓存持中查找

           UITableViewCell *cell=[tableView dequeueReusableCellWithIdentifier:ID];
          
        • 查不到在创建

           if (nil==cell)
           {
          cell=[[UITableViewCell alloc]initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:ID];
           }

IOS UI基础07

标签:

原文地址:http://www.cnblogs.com/liujiaoxian/p/4706015.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!