美文网首页
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看我就够了

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

  • 学习GCD看我就够了

    学习GCD看我就够了 学习GCD看我就够了

  • 面试驱动技术 - Block看我就够了【干货】

    面试驱动技术 - Block看我就够了【干货】 面试驱动技术 - Block看我就够了【干货】

  • ThreadLocal,看我就够了!

    ThreadLocal 开胃菜  研究过Handler的应该对ThreadLocal比较眼熟的,线程中的Handl...

  • ReactiveCocoa看我就够了

    最近看到一篇文章,觉得很不错,就分享给大家吧~ 1.ReactiveCocoa简介 ReactiveCocoa(简...

  • RunLoop?看我就够了

    一、RunLoop的定义 RunLoop,直白的翻译就是运行循环,而且是一个灵活的死循环。为什么说灵活呢?因为它可...

  • CocoaPods 看我就够了😄

    1.初次安装CocosPods的同学可参考这里(地址一,地址二(最新)) cocosPods安装好之后开始进行xc...

  • UIStackView 看我就够了

    介绍 UIStackView 是 iOS9新增的一个布局技术。熟练掌握相当节省布局时间。UIStackView 是...

  • TCP 看我就够了

    TCP的初识 TCP 是一种面向连接的,可靠的,基于字节流的传输层通信协议.TCP工作在网络OSI七层模型中的第四...

  • runtime看我就够了!

    1.what? Objective-C具有相当多的动态特性,也就是经常被提到和用到的有动态类型(Dynamic t...

网友评论

      本文标题:TableView看我就够了

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