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

Posted

技术标签:

【中文标题】如何以编程方式更改 UIImageView 的高度?【英文标题】:How can I change the height of an UIImageView programmatically? 【发布时间】:2016-12-29 04:19:12 【问题描述】:

我正在通过亲身实践的方式自学 Swift。我有一个简单的图像,它在情节提要中设置了一个常数为 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 批不同的图像,并且我想通过红色/蓝色的高度将它们分开。

【问题讨论】:

为 imageView 的高度约束创建一个出口,将约束常量更改为 70。另外,您正在尝试更改图像而不是 imageView 的高度约束 @New16 你不能为动态单元格做任何出口。 @Lumialxk OP 可以为UITableViewCell 的高度约束创建一个出口UIImageView 并在cellForRow 中相应地更新它 哦,好的,谢谢,现在就这样做 【参考方案1】:

双击编辑约束。为其设置标识符。

并以编程方式找到它。

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
    


【讨论】:

非常感谢,这正是我所需要的

以上是关于如何以编程方式更改 UIImageView 的高度?的主要内容,如果未能解决你的问题,请参考以下文章

以编程方式更改 UIImageView 帧大小

如何以编程方式将 UIImageView 缩放到固定宽度和灵活高度?

如何以编程方式更改使用自动布局在情节提要上创建的 UIImageView 的大小?

UIImageView 不会以编程方式更改尺寸

如何编程更改使用 Interface Builder 创建的 UIImageView 中图像的高度/宽度? [复制]

iOS 在 UITableViewCell 中以编程方式设置 UIImageView 约束在滚动 tableview 时变得混乱