ios:更改UILabel.text在文本更改时调整UIImageView的大小

时间:2017-03-07 20:21:48

标签: ios swift uiimageview uilabel

我在我的应用程序中遇到了一个奇怪的行为。 我做了一个简单的代码来重现这个。

stepper递增和递减10乘以10,最小值为0,最大值为200,以100开始。 取决于值是否大于100,label.text具有不同的值。还有一个按钮可将值设置为默认值。 osImage的宽度设置为步进器的值。 一切都很好,直到label.text更改,每次label.text更改osImage都会恢复原始大小。

import UIKit

class ViewController: UIViewController {

    @IBOutlet weak var stepper: UIStepper!
    @IBOutlet weak var label: UILabel!
    @IBOutlet weak var osImage: UIImageView!

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
        label.text = "Default text"
        osImage.bounds.size.width = 100
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }

    @IBAction func onButton(_ sender: Any) {
        label.text = "Default Value !"
    }

    @IBAction func onStepChange(_ sender: UIStepper) {
        print(stepper.value)
        if stepper.value > 100 {
            label.text = "Too big !"
        } else {
            label.text = "I'm so small !"
        }
        osImage.bounds.size.width = CGFloat(stepper.value)
    }

}

我需要一些帮助来理解和反击这种行为。

0 个答案:

没有答案