如何编程更改使用 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 上的字符间距

如何更改 SoundPool

使用 Interface Builder 编辑 UITableViewCell 的模式

如何从 XCode 4 Interface Builder 更改 NSScrollView 字体?

在 Interface Builder 中使用 Auto Layout 更改方向