开发者社区> 问答> 正文

怎样一个类似“QQ空间-动态”的页面?

我现在的思路:

  1. 纯代码布局
  2. 动态中的照片用CollectionView展示多张图片/imageView展示单张图片
  3. 赞列表用CollectionView
  4. 评论列表用TableView
    我的问题:

显然上面的3条中View的高度都是需要根据内容动态调整的,比如:

  1. 图片
    没有图片的话就不显示

一张图片是一个大图
多张图片放到CollectionView中,由于图片不同,CollectionView所占用高度不同
2.赞
没有赞的话不显示
多个赞填充到CollectionView中
超过一定数量后仅显示数量
显然赞自己的Y值需要根据上一个图片视图调整,赞自己的高度要根据赞个数调整
3.评论
和赞一样

这就要写非常复杂的高度计算方法
同时涉及到在TableViewCell.m文件中和在ViewController的tableView行高代理回调中调用这个方法两次,非常不优雅。

1.在这个需求中使用纯代码布局有什么比较好的解决办法吗?
2.storyboard能否实现如此复杂的(类似QQ空间-动态)的ViewController/TableViewCell?
不胜感激~

展开
收起
a123456678 2016-07-27 16:37:51 2472 0
1 条回答
写回答
取消 提交回答
  • 关于计算行高
    纯代码布局也可以计算。就拿代码算就行了……
    如果你只支持 iOS 7 以上,也许可以看看这个方法:tableView:estimatedHeightForRowAtIndexPath:
    不然的话,可以缓存cell及子view的frame,避免重复计算。
    可以。可以辅以代码调整,也可以用autoLayout(可能仍需少数代码调整)。

    2019-07-17 20:00:50
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
QQ移送页面框架优化实践 立即下载
QQ移动页面框架优化实践 立即下载
基于浏览器的实时构建探索之路--玄寂 立即下载