iOS 开发实用技术导航
NSHipster 中文版
http://nshipster.cn/
cocos2d 开源 2D 游戏引擎
http://www.cocos2d-iphone.org/
CocoaPods
http://cocoapods.org/
Google Analytics for Mobile 统计解决方案
http://code.google.com/mobile/analytics/
WWDC
https://developer.apple.com/wwdc/
Design Guides and Resources
https://developer.apple.com/design/
Transcripts of WWDC sessions
http://asciiwwdc.com
Cocoa with Love
http://cocoawithlove.com/
Cocoa Dev Central
http://cocoadevcentral.com/
NSHipster
http://nshipster.com/
Style Guides
Google Objective-C Style Guide
NYTimes Objective-C Style Guide
Useful Tools and Services
Charles Web Debugging Proxy
Smore
Ison
V2EX  ›  iDev

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

  •  
  •   Ison ·
    i-Leung · Aug 7, 2015 · 4599 views
    This topic created in 3942 days ago, the information mentioned may be changed or developed.
    我有三个控件竖直方向放 就是类型微信发朋友圈的界面
    上下放的是UITextView
    中间放的是UICollectionView
    都没有设置高度
    采用NSLayoutConstraint自动适应内容
    UITextView都没有问题
    就是UICollectionView能够适应宽度不能适应高度
    设置UICollectionViewFlowLayout的collectionViewContentSize也没用
    它最后还是根据NSLayoutConstraint做调节 也还是高度为0
    但是在NSLayoutConstraint强制设置高度又可以 就是无法自适应内容高度
    请问应该怎么处理呢

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

    那样就是正方形了,然后设置item的宽高为(width-2)/3
    Ison
        7
    Ison  
    OP
       Aug 7, 2015
    @ruandao 好的 我试一下 thx
    loveuqian
        8
    loveuqian  
       Aug 8, 2015 via iPhone
    @teriyaki 貌似table也能瀑布?暂时我还没学到collection
    linvx
        9
    linvx  
       Aug 24, 2016
    https://github.com/lingtingSir/LTTemplateLayoutItem UICollectionView 高度宽度自适应缓存框架,看是否满足需求
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2988 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 40ms · UTC 08:52 · PVG 16:52 · LAX 01:52 · JFK 04:52
    ♥ Do have faith in what you're doing.