在TableViewCell中隐藏UIImageView以用于约束目的

时间:2018-04-22 00:14:27

标签: ios swift uitableview

我为

设置了tableViewCell
UITableViewAutomaticDimension

但是,有些单元格没有UIImage。如果不包含图像,我希望单元格调整大小。如何以适当的方式将单元格的高度设置为可以实现此目的的位置。

enter image description here

如果图像丢失,我想让单元格调整到textView的autoDimension的高度(在storyboard中的imageView上方)。什么是最好的解决方法?

enter image description here

UPDATE *:

所以我完全按照你说的做了但我用标识符而不是IBAction做了。

  if let c = messageImage.constraint(withIdentifier: "imageViewHeightConstraint") {
                    // do stuff with c

                    if(messageArray[indexPath.row].uploadedPhotoUrl == ""){
                        c.constant = 1
                    }else {
                        c.constant = 162
                    }

                    // c.constant =  (messageArray[indexPath.row].uploadedPhotoUrl == "") ? 1 : 162
                }

let filter = AspectScaledToFillSizeFilter(size: messageImage.frame.size)
messageImage.af_setImage(withURL: messageImageDownloadUrl! as URL, filter: filter)

cell?.layoutIfNeeded()
return cell!

UI:

enter image description here

2 个答案:

答案 0 :(得分:2)

UIImageview的高度限制挂钩为IBOutlet并在cellForRow

cell.imageVHeightCon.constant = ( image == nil ) ? 0 : 200
cell.layoutIfNeeded()
return cell

答案 1 :(得分:0)

好方法是使用水平stackview

当你不需要imageview设置imageview.isHidden = true