列表“暂⽆更多内容”布局两种思路
我是iOS开发,经常使⽤UITableView布局界⾯。常伴随上拉刷新,下拉加载更多功能。当数据加载完毕后,要显⽰“暂⽆更多内
容”提⽰⽤户。
html frame第⼀种思路是,需求中列表没有header 浮层或只有⼀个分区且没有header或footer时,可将UITableView的类型设置为group,
将“暂⽆更多内容”⽤footer布局来实现。这⼀做法很简单,只要将“暂⽆更多内容”的显⽰和隐藏逻辑写好,任凭如何测试不会出错。
此处需要注意的是,当不显⽰“暂⽆更多内容”时,UITableView得到footer的代理⽅法中,返回nil。得到footer⾼度的代理⽅法中,返回0.1,⽬的是让footer很⼩,但⾼度不能返回0。这个在代码中试了就知道了。
第⼆种思路是,需求中列表有header浮层,设置UITableView的类型设置为plain,此刻不能在使⽤footer或header布局“暂⽆更多内容”了,因为header 和footer都会漂浮。需要另辟思路了。我曾想借鉴下拉加载的显⽰逻辑(监听scrollDidScroll⽅法,时刻对⽐着contentSize , contentOffset和table.frame,size.he
ight的值,来修改下拉加载的frame)显⽰“暂⽆更多内容”,但是,⼯程中下拉加载类没有暴露frame(⼯程中不⽌⼀处需要下拉加载,此处若根据⾃⼰需要修改,不太合适),我需要再次计算来修改“暂⽆更多内容”的frame来显⽰。⾃我评估此后,放弃此思路。另辟新径。
新径为,我将“暂⽆更多内容”,⽤⼀个cell布局。根据“暂⽆更多内容”的显⽰隐藏条件,在UITableView的代理⽅法中加⼊判断逻辑。同样很完美的将“暂⽆更多内容”实现了。相⽐较着⽤计算的⽅式,通过修改frame来显⽰,倒不如,我通过简单的判断逻辑告诉UITableView是否显⽰“暂⽆更多内容”的cell,来的可靠。
我是iOS开发,以上是我的两种布局思路,抛砖引⽟,希望能够有所帮助。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论