【问题标题】:How can I change the height of an UIImageView programmatically?如何以编程方式更改 UIImageView 的高度?
【发布时间】: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 中相应地更新它
  • 哦,好的,谢谢,现在就这样做

标签: ios swift uitableview uiimageview


【解决方案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
    }

}

【讨论】:

  • 非常感谢,这正是我所需要的
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-03-26
  • 2023-01-17
  • 1970-01-01
  • 2014-07-05
  • 1970-01-01
  • 2018-04-28
相关资源
最近更新 更多