【问题标题】:UIImageView is not auto height in StackView with TableViewCellUIImageView 不是 StackView 和 TableViewCell 中的自动高度
【发布时间】:2017-05-12 16:19:26
【问题描述】:

这是视图层次结构

我希望 PhotoImgView 自动高度取决于图像大小

图片是从服务器下载的

我使用 KingFisher 下载图片

下载完成后,我设置PhotoImgView的高度约束,在cell类中做layoutIfNeeded()

但它不会立即更新 UI

当我滚动到另一个单元格,让单元格不可见,然后向后滚动时,单元格将是正确的

我该怎么做?

collectionView同样的问题,我在collectionview.reloaData之后设置collectionview的高度约束并得到collectionview.contentSize.height

【问题讨论】:

    标签: swift uitableview uicollectionview ios-autolayout uistackview


    【解决方案1】:

    试试这个:

    用这个替换你当前的layoutIfNeeded()

    DispatchQueue.main.async {
        self.layoutIfNeeded()
    }
    

    【讨论】:

      【解决方案2】:

      尝试在layoutIfNeeded() 之前调用setNeedsLayout()

      要获得集合视图高度的正确结果,您可以尝试:

      collectionView.reloadData()
      collectionView.setNeedsLayout()
      collectionView.layoutIfNeeded()
      collectionView.collectionViewLayout.invalidateLayout()
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-04-30
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多