将宽度改为IBOutlet (UIImageView)



我正在用Xcode做一些实验,我想到了一个小问题:那就是我如何改变storyboard创建的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

最新更新