请问写一个微博的 cell 用 autolayout 好实现吗

2015-09-08 11:38:58 +08:00
 iamjjh

微博的 cell 用代码写很复杂的样子,用 autolayout 是否会简单点?目前尝试了下,但是放置图片的 view 因为图片数量不同,高度不太好确定,请问谁有 demo 吗?想研究下,谢谢。

2862 次点击
所在节点    程序员
9 条回复
codeface
2015-09-08 12:18:57 +08:00
masonay 爽得飞起,用过之后再也不想 setFrame 了。
wujichao
2015-09-08 12:39:57 +08:00
微博的 cell 种类有多
a 你可以把不同布局的 cell 分成各类
b 或者一种 cell 各个 view 按需显示
各种子 view 在一个 view 里按需显示本来就很复杂
-> 上了 autolayout 就更复杂了
-> cell 还涉及到重用机制 也就说 a cell 这个子 view 显示, b cell 这个子 view 隐藏, 涉及到约束的改变

ab 都不容易 用 autolayout 坑很多走出来不容易 如果你对 autolayout 不熟的话
重写 layoutsubview 其实还好 但是 cell 高度算起来麻烦

如果你用 autolaoyout
请一定一定一定仔细研究下面两个 nb 的库或实例
https://github.com/forkingdog/UIView-FDCollapsibleConstraints
https://github.com/forkingdog/UITableView-FDTemplateLayoutCell
hdbean
2015-09-08 12:48:39 +08:00
自定义 cell 啊,什么库都不用
就用 xib 或者 storyboard,通过 autolayout 布局完全够用
hdbean
2015-09-08 12:50:11 +08:00
我用 swift 写了一个简易的 weibo,里面的微博首页布局就是 autolayout 自定义的 cell
https://github.com/Heisenbean/Ybo
iamjjh
2015-09-08 13:02:58 +08:00
@wujichao 多谢知道
iamjjh
2015-09-08 13:03:11 +08:00
@hdbean 学习了
zioc
2015-09-08 16:33:54 +08:00
现在做的一个项目类似微信朋友圈。没有用 autoLayout 去控制高度。

计算高度放在朋友圈 model 里(包括富文本高度、图片组高度等,富文本高度需要多次用到),在 heightForRowAtIndexPath 返回。
ibremn
2015-09-08 16:51:41 +08:00
对性能有要求的地方,就不要用 Autolayout !不要用 Autolayout !不要用 Autolayout !
重要的事情说三遍, Autolayout 的约束数量增加时,其计算量是成指数级增长的。
http://floriankugler.com/2013/04/22/auto-layout-performance-on-ios/

如果你希望 TableView 滑动时能保持 60fps ,请把视图宽高的计算、 Cell 高度的计算、富文本排版和渲染、 Model 解析等所有能放到后台线程计算的,统统挪到后台线程去。
iamjjh
2015-09-09 12:01:20 +08:00
@ibremn 多谢提醒

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/219068

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX