为什么要基于UITableview构建UI

实在吃过太多页面设计的亏,所以总结一下基于UITableview构建UI的一些好处。

  1. UITableview是数据驱动的,根据内置的机制做展现。修改dataSource就可以控制界面的展现。刷新界面时只需要使用reloadDatareloadRowsAtIndexPaths就能完成。

  2. 页面扩展能力佳。未来业务发展,需要在页面最上面最下面增加内容,对之前代码做少量修改就能做到。

  3. 大量实现下拉刷新功能的开源项目,如果页面需要刷新功能,轻松做到。

  4. UITableview具有强大的表现能力,再复杂的页面都可以完成。

  5. UITableview使得交互更加统一,所有的页面,不管内容多少,都可以scroll和bounce,符合iOS的交互习惯。可以参看iOS自带的App的交互。

  6. UITableView隐藏着很多高级特性(继承自UIScrollView),比如automaticallyAdjustsScrollViewInsets让内容可以滚动到导航栏和tabbar的后面,配合磨砂效果,视觉效果非常赞;比如点击状态栏会滚动到顶部;这些特性不需要开发就与生俱来。

  7. iOS 8新增Self Sizing Cell,只需要设置rowHeight为UITableViewAutomaticDimension就可以实现cell高度根据约束自动调整(务必设置top和bottom与contentView的约束),cell高度计算和缓存已经成为历史往事。

  8. 滚动到页面指定的位置非常方便。并且通过保存UITableview的contentOffset,可以记住页面滚动的位置,当用户进入相同的页面,滚动到之前的位置。

  9. contentOffset妙用无穷。比如点击UITextField编辑时让其往上滚动一点,避免被升起来的键盘遮挡,只要scroll一下便可做到。有些页面只需将UITableView的keyboardDismissMode设置成interactive,轻松拥有MessageApp那样灵动的交互。

  10. 尤其适合写Hotpatch,因为UITableView从渲染到点击都有非常标准的接口,通过对这些接口做patch,可以解决各种各样的问题。即使是Swift App,因为UIKit还是OC写的,使用JSPatch一点问题都没有。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 14,266评论 4 61
  • /文林 月圆的时候,人间就是天上 用世俗的中气鼓吹美好 华丽的等待很甜 盘中的祝福,是一个个优美的传说 亮出时尚的...
    成都文林阅读 3,021评论 0 0
  • “哇,下雪了”,小兔子高兴的叫着。屋顶上,土地上,树上,墙上,到处都让雪盖着,苍穹之下,都是白茫茫的一片。兔...
    籍秋风阅读 3,110评论 0 0
  • 我们经常会在手机推送里看到类似于这样的新闻: 或者这样的: 还有这样的: 懂的人,脑袋里已经大概理出了后期的投资计...
    丸艺读财阅读 11,713评论 0 7