如何以编程方式更改 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 的大小?
如何编程更改使用 Interface Builder 创建的 UIImageView 中图像的高度/宽度? [复制]
iOS 在 UITableViewCell 中以编程方式设置 UIImageView 约束在滚动 tableview 时变得混乱