IOS | MAC热门ios

iOS:tableView不得不了解的属性

2016-04-28  本文已影响1533人  斯文_7

今天闲来无事总结了一下: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;
后续继续更新

上一篇 下一篇

猜你喜欢

热点阅读