美文网首页IOS | MAC热门ios
iOS:tableView不得不了解的属性

iOS:tableView不得不了解的属性

作者: 斯文_7 | 来源:发表于2016-04-28 19:19 被阅读1533次

    今天闲来无事总结了一下:tableView中用到的比较多的属性
    可能只需要修改一下,就省下很多行代码:

    //这句话不显示多余的单元格
        self.tableView.tableFooterView = [[UIView alloc] initWithFrame:CGRectZero];
    
    // 这句话不显示单元格之间的分割线
        _tableView.separatorStyle = UITableViewCellSeparatorStyleNone;
    
    
    // 这句话在单元格的最后显示一个箭头
    cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
    
    
    //--- 点击cell的时候 cell不会产生高亮状态 ---
    cell.selectionStyle = UITableViewCellSelectionStyleNone;
    
    
    // --- 写在viewdidload里面cell自适应高度 ----
    tableView.rowHeight = UITableViewAutomaticDimension; // 自适应单元格高度
     tableView.estimatedRowHeight = 50; //先估计一个高度
    
    // 去掉UItableview headerview黏性(sticky)
    - (void)scrollViewDidScroll:(UIScrollView *)scrollView
    {
    CGFloat sectionHeaderHeight = 40;
        if (scrollView.contentOffset.y<=sectionHeaderHeight&&scrollView.contentOffset.y>=0) {
            scrollView.contentInset = UIEdgeInsetsMake(-scrollView.contentOffset.y, 0, 0, 0);
        }
        else if (scrollView.contentOffset.y>=sectionHeaderHeight) {
            scrollView.contentInset = UIEdgeInsetsMake(-sectionHeaderHeight, 0, 0, 0);
        }
    }
    
    // 获取手势点击的是哪一个cell的坐标
    NSIndexPath *indexPath = [self.tableView indexPathForCell:((UITableViewCell *)longPress.view)];
    
    // 局部刷新
    //一个section刷新    
    NSIndexSet *indexSet=[[NSIndexSet alloc]initWithIndex:2];    
    [tableview reloadSections:indexSet withRowAnimation:UITableViewRowAnimationAutomatic];    
    
    //一个cell刷新   
    NSIndexPath *indexPath=[NSIndexPath indexPathForRow:3 inSection:0];   
    [tableView reloadRowsAtIndexPaths:[NSArray arrayWithObjects:indexPath,nil] withRowAnimation:UITableViewRowAnimationNone]; 
    
    // 关于UITableView如何跳转到最后一行或者任意指定行。
    其实现如下:
    [self.chatTableView scrollToRowAtIndexPath:
    [NSIndexPath indexPathForRow:[self.chatArray count]-1 inSection:0]
      atScrollPosition: UITableViewScrollPositionBottom
      animated:NO];
    
    // 点击button时获取button所在的cell的indexpath
        UIButton *button = sender;
        HeroDermaTableViewCell *cell = (HeroDermaTableViewCell *)[[button superview] superview];
        NSIndexPath *indexPath = [_tableView indexPathForCell:cell];
    
    

    UIView *backView = [[UIView alloc] initWithFrame:self.bounds];
    self.selectedBackgroundView = backView;
    self.selectedBackgroundView.backgroundColor = [UIColor clearColor];

    将UITableVIew 的属性 allowsSelectionDuringEdinting 设置为 TRUE,之后就可在编辑模式下,调用点击方法了。

    self.tableView.allowsSelectionDuringEditing=YES;
    后续继续更新

    相关文章

      网友评论

      • _bab:总结的挺好,谢谢作者
      • Ashen_C:转载了。 感谢楼主。
      • 爬树的蚂蚁:都是很有用的,但老是忘记,总结的真好
        斯文_7:@爬树的蚂蚁 恩恩,学技术就是要多总结

      本文标题:iOS:tableView不得不了解的属性

      本文链接:https://www.haomeiwen.com/subject/eescrttx.html