美文网首页
TableView看我就够了

TableView看我就够了

作者: OwenKing | 来源:发表于2017-04-24 17:49 被阅读58次

    tableView可学的东西太多,用到的也多。每次用到的时候记不住都要百度,其实还是自己总结的太少。

    1.在tableView单元格cell中,常常为了显示效果要去掉单元格下面的黑线,当滑动的时候一条条黑色的线很影响美观,我们可以用这个方法去除。

    这样看起来就好多了。

    2.在tableView中,当我们点击单元格的时候往往总会有黑色的阴影,点击一下,出来一次。特别当背景是白色的时候,看起来好难受。然后可以用这个去删除阴影效果

    而在swift中去除单元格背景阴影的方法

    Cell.selectionStyle=UITableViewCellSelectionStyle.none

    3.在自定义单元格的时候,初始化cell的时候有几种方法,其中最好用这个

    我今天用的frame那个初始化方法,结果被坑了一直找不到cell上面的控件,检查了好久,才知道是这里。以后就默认用这个方法就好了。

    4.在cell中有头像类的image属性赋值的时候,我们webImageView库赋值的时候最好用这个方法

    <UIImageView+WebCache.h>

    这个方法可以刷新图片,要不然图片就会一直是第一次缓存的那个,无法和服务器的数据进行刷新更新。

    5.在单元格上面的按钮中获取按钮所在单元格的索引

    UITableViewCell cell = (UITableViewCell )[[单元格控件 superview]superview];

    NSIndexPath *indexPath = [self.tabView indexPathForCell:cell];

    indexPath就是所在的索引值,可以获取单元格所在的区和行

    6.如果在单元格最右端想要添加向右的箭头,可以直接选择type设置

    cell.accessoryType=UITableViewCellAccessoryDisclosureIndicator;

    如果想要在箭头左边添加lab信息,也可以直接用tableview自带的

    cell.detailTextLabel.text=@"111";

    7.如果想在有内容的单元格下面加横线,没有内容的话就不加

    _tableView.tableFooterView= [UIViewnew];

    8.tableview还有一个cell的方法

    - (void)tableView:(UITableView*)tableView willDisplayCell:(UITableViewCell*)cell forRowAtIndexPath:(NSIndexPath*)indexPath

    {}

    在这个方法可以设置cell的出场布局,比如一个例子

    if([cell.layervalueForKey:@"animation"]) {

    return;

    }

    CABasicAnimation*animation = [CABasicAnimationanimationWithKeyPath:@"transform.scale"];

    animation.fromValue=@(0.5);

    animation.duration=0.5;

    [cell.layeraddAnimation:animationforKey:@"animation"];

    这是一个cell缩放的出场动画,无论是跳转还是滑动滑进的时候都会有一个赏心悦目的动画效果

    9.tableview还有一个预估cell高度的方法

    - (CGFloat)tableView:(UITableView*)tableView estimatedHeightForRowAtIndexPath:(NSIndexPath*)indexPath

    这样就可以让cell高度不确定的时候编辑了

    10.有时候ui为了美观会让我们自定义cell下面的横线,比如横线颜色,横线长度等。

    _tableView.tableFooterView = [UIView new];

    _tableView.separatorInset = UIEdgeInsetsMake(0,15,0,15);

        _tableView.separatorColor = hexColor(@"E3E8EE");

    这样就可以在每个cell下面加横线,并且可以自定义系统横线的颜色

    11.tableview系统自带的cell还有几种样式,比如cell右边带箭头的,带勾对号的,还有空心圈的样式

     static NSString *rid=@"cellId";

        UITableViewCell* cell = [tableView cellForRowAtIndexPath:indexPath];

      if(cell ==nil) {

      cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:rid];

        }

    使用这种懒加载的方式加载cell,设置style样式就可以了。

    每次写项目都会有各种问题,总觉得tabview类型表格已经写得够多了,然而复杂的类型遇到的不够多,要多总结自己遇到的问题。     ———————— SAW

    相关文章

      网友评论

          本文标题:TableView看我就够了

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