iOS - 单元格根据元素可见性调整约束

Posted

技术标签:

【中文标题】iOS - 单元格根据元素可见性调整约束【英文标题】:iOS - Cell adjust constraints based on element visibility 【发布时间】:2019-06-11 14:22:16 【问题描述】:

目前我有一个单元格,其中一些标签在图像中对齐,但是当没有要显示的图像时,我希望标签对齐到 tableviewcell 的左侧,我尝试设置两个约束,一个到 superview ,除图像外,但仍然无法正常工作...可以仅使用约束优先级或类似的东西来实现这一点吗?非常感谢!

【问题讨论】:

【参考方案1】:

好吧,我可以通过为图像宽度约束设置一个出口来实现这一点,当没有要显示的图像时,我将约束的常数设置为零。该元素虽然不可见,但在视图设计中仍然占据空间。

代码是这样的

        if let photoUrl = URL(string: photo) 
            self.activityIndicator.startAnimating()
            self.photoPostImageView.kf.setImage(with: photoUrl)  _ in
                self.activityIndicator.stopAnimating()
            
         else 
            self.photoPostImageView.isHidden    = true
            self.imageWidthConstraint.constant  = 0
        

【讨论】:

以上是关于iOS - 单元格根据元素可见性调整约束的主要内容,如果未能解决你的问题,请参考以下文章

iOS UIImageView 约束在表格单元格中不起作用

根据文本调整单元格宽度 - UICollectionView - iOS

使用自动布局约束动态调整表格视图单元格的大小

带有附件视图的 iOS 8 自调整单元格

UICollectionView 总是自动调整单元格大小。不使用委托返回的尺寸

根据内容动态调整tableview单元格的高度 - iOS Swift