如何编程更改使用 Interface Builder 创建的 UIImageView 中图像的高度/宽度? [复制]
Posted
技术标签:
【中文标题】如何编程更改使用 Interface Builder 创建的 UIImageView 中图像的高度/宽度? [复制]【英文标题】:How to programitaclly change the Height/Width of an Image inside UIImageView created using Interface Builder? [duplicate] 【发布时间】:2016-09-07 04:57:39 【问题描述】:代码如下:
class ViewController: UIViewController
@IBOutlet weak var border: UIImageView!
override func viewDidLoad()
super.viewDidLoad()
let width = UIScreen.mainScreen().bounds.width
let height = UIScreen.mainScreen().bounds.height
border.image?.size.width = width
border.image?.size.height = height
但我收到一条错误消息:
不能分配给属性:size 是一个只能获取的属性
【问题讨论】:
【参考方案1】:您不能以这种方式更改 UIImage 对象的大小。 但是你可以改变 UIImageView 对象的大小。
所以你的代码应该是:
border.frame?.size.width = width
border.frame?.size.height = height
如果您希望 UIImageView 填充比例/宽高比等,请适当设置您的 UIImageView 的 contentMode
。
如果你想改变 UIImage 对象的大小,那么你需要使用 CoreGraphics 重新绘制它。
【讨论】:
【参考方案2】:在这种情况下,我建议您更改图像视图的大小。改变图像的大小是可能的,但在几乎所有情况下改变图像视图的大小都是可行的。
【讨论】:
以上是关于如何编程更改使用 Interface Builder 创建的 UIImageView 中图像的高度/宽度? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
iOS:以编程方式更改从 Interface Builder 设置的约束
在 Interface Builder 中更改 UILabel 上的字符间距
使用 Interface Builder 编辑 UITableViewCell 的模式