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

时间:2016-09-07 04:57:40

标签: swift xcode uiimageview uiimage

以下是代码:

  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是仅获取属性

2 个答案:

答案 0 :(得分:5)

您不能以这种方式更改UIImage对象的大小。 但是你可以改变UIImageView对象的大小。

所以你的代码应该是:

border.frame?.size.width = width
border.frame?.size.height = height

然后,如果您希望它填充比例/宽高比适合等,请相应地设置您的UIImageView contentMode

如果要更改UIImage对象的大小,则需要使用CoreGraphics重绘它。

答案 1 :(得分:1)

在这种情况下,我建议您更改imageview的大小。可以改变图像的大小,但几乎在所有情况下都要改变图像视图大小。