请问大家 UICollectionView 添加 NSLayoutConstraint 是怎么设置自适应高度的呢

2015-08-07 21:32:29 +08:00
 Ison
我有三个控件竖直方向放 就是类型微信发朋友圈的界面
上下放的是UITextView
中间放的是UICollectionView
都没有设置高度
采用NSLayoutConstraint自动适应内容
UITextView都没有问题
就是UICollectionView能够适应宽度不能适应高度
设置UICollectionViewFlowLayout的collectionViewContentSize也没用
它最后还是根据NSLayoutConstraint做调节 也还是高度为0
但是在NSLayoutConstraint强制设置高度又可以 就是无法自适应内容高度
请问应该怎么处理呢

或者大家是怎么处理类似需求的呢
就是发朋友圈先写评论 再有一个上传图片的9宫格列表 再到一个填地址信息的
如何处理中间的9宫格内容自适应高度呢
纠结几天了
查到的要不是UICollectionViewCell的NSLayoutConstraint就是改UICollectionViewFlowLayout的
都试过了都不行
快崩溃了...
3867 次点击
所在节点    iDev
9 条回复
ruandao
2015-08-07 21:45:35 +08:00
rac 检测 contentsize
然后用 intrinsicContentSize 返回你想要的高度
Ison
2015-08-07 22:02:22 +08:00
@ruandao 噢。。。原来有rac这个东西 刚学ios不知道呀
那是不是单靠NSLayoutConstraint无法直接对UICollectionView的内容进行自适应
一定得通过设置高度才能解决UICollectionView的自适应问题呢
teriyaki
2015-08-07 22:09:12 +08:00
别用uicollectview这个是ios最复杂的ui控件
除了瀑布流 uitableview都能实现
Ison
2015-08-07 22:20:38 +08:00
@teriyaki 俺看它实现九宫格那么简单就用它了。。。
ruandao
2015-08-07 23:02:50 +08:00
ruandao
2015-08-07 23:05:36 +08:00
抱歉,好像说错了,恩,你直接弄个长宽比为1的constraint 就行了

那样就是正方形了,然后设置item的宽高为(width-2)/3
Ison
2015-08-07 23:11:54 +08:00
@ruandao 好的 我试一下 thx
loveuqian
2015-08-08 00:51:36 +08:00
@teriyaki 貌似table也能瀑布?暂时我还没学到collection
linvx
2016-08-24 17:09:51 +08:00
https://github.com/lingtingSir/LTTemplateLayoutItem UICollectionView 高度宽度自适应缓存框架,看是否满足需求

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

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

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

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

© 2021 V2EX