缘起
水果公司的攻城狮们为TableView提供了灰常丰富的火药——
- 例如以提高性能为目的的可重用的Cell机制
- 例如为降低耦合度而设计的delegate和dataSource机制
但默认提供的东西多了,有时候会带来意想不到的麻烦——
难缠的留白
又是晴朗的一天,攻城狮正在欢(dan)快(teng)地加班
今天要做的是一个TableView,攻城狮拿到的需求大约是这样的——
结果当灰快的做完以后,发现出来的效果是这样的——
上边的留白是什么鬼??
于是攻城狮快速的结印召唤了谷歌娘——
原来这是文艺的水果设计的用于给人无限遐想空间的留白,从IOS7.0以后开始生效
我的天,原来乔帮主也是李白的粉丝——
一鼓作气
简单粗暴:
tableView.contentInset = UIEdgeInsetsMake(-44, 0, 0, 0);
既然你硬要我带个帽子,我长高一点把帽子顶出视线外就好了哇~~
有时候问题并不需要弄得那么复杂,simple is the best …
但对于有强迫症的某攻城狮来说
出现魔数的方案一般都在否决的行列<( ̄3 ̄)> !
于是继续查询,皇天不负有心人,继而翻到了这么个属性:
tableView.automaticallyAdjustsScrollViewInsets = NO;
事实上这个属性在很长一段时间内都很好地解决了问题
于是攻城狮又欢(dan)快(teng)地加班去了——
再而衰
直到有一天,需要做一个headerView没有黏滞效果(段头停留)的表格时,李白再次粗线——
而且死活去不掉
无论是设置automaticallyAdjustsScrollViewInsets,还是忍痛抛弃了魔数那点节操
李白的帽子总是淡定的浮在第一行
为了抗击这顶倒霉的帽子,攻城狮又踏上了漫漫的摘帽路——
(未完待续)