ios - NSLayoutConstraint 更改后,systemLayoutSizeFittingSize 不起作用

标签 ios swift uiimageview autolayout nslayoutconstraint

我在 swift 上使用自动布局,我想动态更改 UICollectionViewCellUIImageView 高度。

我尝试过如下。 但是,似乎 systemLayoutSizeFittingSize 不起作用。

class CellImage: UICollectionViewCell {
    @IBOutlet weak var imageHeight:NSLayoutConstraint!
     .
     .
     .
    internal func setup() {
        self.imageHeight.constant = 200
        self.layoutIfNeeded()
    }
     .
     .
     .
    class func sizeForRow(#collectionView: UICollectionView, content: Content) -> CGSize {
        var cell = UINib(nibName:"name", bundle: nil).instantiateWithOwner(self, options: nil).first as! CellImage
        let width = CGRectGetWidth(collectionView.bounds)
        cell.frame.size.width = width
        cell.setup()
        let height = cell.contentView.systemLayoutSizeFittingSize(UILayoutFittingCompressedSize).height
        return CGSizeMake(width, height) // not correct
    }
}

最佳答案

替换这个

let height = cell.contentView.systemLayoutSizeFittingSize(UILayoutFittingCompressedSize).height

使用下面的代码

let height =cell.systemLayoutSizeFittingSize(UILayoutFittingCompressedSize, withHorizontalFittingPriority: UILayoutPriorityDefaultHigh, verticalFittingPriority: UILayoutPriorityDefaultLow)

关于ios - NSLayoutConstraint 更改后,systemLayoutSizeFittingSize 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31602065/

相关文章:

ios - 根据点击的按钮在tableView中显示不同的数据

swift - 如何从联系人框架检索电话号码

swift - 尝试以编程方式使用 Assets 中图像的未解析标识符

ios - NotificationCenter swift3 无法观察帖子

objective-c - Watchkit:显示大量数据的最佳方式

ios - 从用户点击快速将图像添加到 UIImageView

iOS UIScrollView 双指缩放添加空白

iphone - 通过 NSURL 和 NSData 传递特殊字符

ios - AFNetworking 2.0 AFHTTPRequestOperationManager CachePolicy 不工作

objective-c - 如何在没有 namespace 的 Objective-C 中划分类?