自定义cell
- 提供数据设置接口, 设置数据
- 提供占位图,图片下载是有延时, 或者服务器提供的数据, 可能存在问题, 所以要提供个占位符, 如果是因为下载延时的原因, 则有可能会导致后面就算图片被下载了也是不会被显示
- 实现设置数据方法
界面细节
1.头像圆型(两种方法)
- 1.修改控件的圆角半径
- 2.裁剪图片生成, 一张新的图片, 图形上下文
- 在awakeFromNib 方法中设置(xib加载就会调用, 只会设置一次)
- 在头像被下载完成时裁剪图片(这时就要用 SDW 下载图片的另一个方法, 有回调的方法中裁剪图片)
- 1.开启上下文(注意使用有三个参数的方法, 不要在使用之前的那个方法)
- 2.描述圆形裁剪路径
- 3.设置为裁剪区域
- 4.画图片
- 5.取出图片
- 6.关闭上下文
- 7.设置图片
- (抽分类, 将生成圆角的图片直接抽分类, 对象方法或者类方法都行,对象方法更简单)
- 注意: 处理如果没有下载到图片, 就直接返回(if判断即可), 如果不做处理, 则会运行时程序可能崩溃;
- 博客文章<<小心别让圆角成为你的列表帧数杀手>>(博客已经过时)
- iOS9 帧数是不会下降是因为苹果已经做了处理
- iOS8 之前还是有问题
2.订阅数显示细节处理
- 大于10000做数据处理, 并拼接数据
- 使用intValue 转换字符, 只转换字符串对象上面的数字, 其他中文字符不会转换
- 去除小数点后面的全部多余没必要的".0"
- 小于10000不做数据处理
- 大于10000做数据处理, 并拼接数据
- 3.设置分割线全屏
- 方法一: 利用系统属性,
self.tableView.separatorInset = UIEdgeInssetsZero;cell.layoutMargins = UIEdgeInsetsZero;
- 方法二: 重写cell 的frame的方法
- 先面取消系统的分割线
separatorStyle = UITableViewCellSeparatorStyleNone - cell的位置, 尺寸谁计算的 -> 系统的tableview
- cell的位置, 尺寸什么时候计算? -> 先将所有要显示的cell的位置尺寸全部计算之后, 才会创建cell显示
- 设置cell 的高度剪去分割线的高度,即可
- 注意: 修改高度一定要在调用父类的 frame方法之前
- 先面取消系统的分割线
- 方法一: 利用系统属性,