将宽度更改为 IBOutlet (UIImageView)

Change width to a IBOutlet (UIImageView)

我正在用 Xcode 做一些实验,我想到了一个小问题:这就是我如何更改故事板创建的 UIImage 的大小。在我使用的代码下方:

@IBOutlet var label: UILabel!

@IBOutlet var img: UIImageView!//x=0, y=0, w=50, h=50, red, created in the storyboard

var numero = 11

override func viewDidLoad() {
    super.viewDidLoad()

    if numero < 10
    {
        label.text = "\(numero)"
        img.backgroundColor = UIColor.blueColor()
    }
    else if numero > 10
    {
        label.text = "\(numero)"
        img.frame = CGRectMake(0, 0, 100, 50)
        img.backgroundColor = UIColor.greenColor()
    }
}

所以图像改变了颜色但没有改变宽度。我该如何解决这个问题?但是,如果我以编程方式创建 UIImageView,它会完美运行:

@IBOutlet var label: UILabel!

var img: UIImageView!

var numero = 11

override func viewDidLoad() {
    super.viewDidLoad()

    img = UIImageView(frame: CGRectMake(0, 0, 50, 50))
    self.view.addSubview(img)

    if numero < 10
    {
        label.text = "\(numero)"
        img.backgroundColor = UIColor.blueColor()
    }
    else if numero > 10
    {

        label.text = "\(numero)"
        img.frame = CGRectMake(0, 0, 100, 50)
        img.backgroundColor = UIColor.greenColor()
    }
}

谁能给我解释一下以编程方式或在情节提要中制作的 UIImageView 的行为之间的区别?

你可以直接设置img的宽度

img.frame.size.width = 100