如何以编程方式更改UIImageView的高度?

时间:2016-12-29 04:19:12

标签: ios swift uitableview uiimageview

我正在通过实践方法教自己斯威夫特。我有一个简单的图像,其高度约束在故事板中设置为常量150。但是我想以编程方式将其更改为70.

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    let tableElement = tableView.dequeueReusableCell(withIdentifier: "FirstTable", for: indexPath) 
    tableElement.BigImage.image = ?? 
    return tableElement
}

我可以通过tableElement.BigImage.image访问该图像,我想找到它的height属性并将其设置为70.我已经尝试了这个tableElement.BigImage.image.topCapHeight = 70然而这会产生错误。我怎么能这样做?

这是我的出路

    class myNewCell: UITableViewCell {

    @IBOutlet weak var BigImage: UIImageView!


    override func awakeFromNib() {
        super.awakeFromNib()
        // Initialization code
    }

    override func setSelected(_ selected: Bool, animated: Bool) {
        super.setSelected(selected, animated: animated)

        // Configure the view for the selected state
    }

}

我正在尝试学习如何以编程方式更改图像的高度,因为我收到了2个不同批次的图像,我想将它们按高度分类为红色/蓝色。

1 个答案:

答案 0 :(得分:1)

双击以编辑约束。为它设置标识符。 enter image description here

以编程方式找到它。

for constraint in UIView().constraints {
    if constraint.identifier == "your identifier" {
        // set here
    }
}

<强>更新
在创建自定义单元格时,添加另一个插槽更好。 CTRL-DRAG是一个出口,它看起来像这样。

class myNewCell: UITableViewCell {

    @IBOutlet weak var BigImage: UIImageView!
    @IBOutlet weak var topCapHeight: NSLayoutConstraint!

    override func awakeFromNib() {
        super.awakeFromNib()
        // Initialization code
    }

    override func setSelected(_ selected: Bool, animated: Bool) {
        super.setSelected(selected, animated: animated)

        // Configure the view for the selected state
    }

}