将宽度更改为IBOutlet(UIImageView)

时间:2015-08-17 22:58:18

标签: swift uiimageview iboutlet cgrect programmatically-created

我正在使用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以编程方式或在故事板中的行为之间的区别吗?

1 个答案:

答案 0 :(得分:0)

你可以设置img的宽度

img.frame.size.width = 100