我想允许用户通过输入他们的体重来输入他们的体重,也可以使用步进器来轻击+/-。
如果他们仅使用其中一种方法,则效果很好。他们可以使用步进器,其值将累加。但是,如果他们手动更改文本,然后再次使用步进器,则该值不会根据文本更改。而是遵循步进值。
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var txtWeight: UITextField!
@IBOutlet weak var stpWeight: UIStepper!
@IBAction func stpActWeight(_ sender: Any) {
txtWeight.text = "\(stpWeight.value)"
}
}
我希望如果将txtWeight.txt
更改为50.0,然后从步进器按+,则它将为51.0。当前,实际输出为步进值(如果我单击+ 3次,则步进值为3.0)。
答案 0 :(得分:0)
您可以尝试
// add these in viewDidLoad
txtWeight.addTarget(self, action: #selector(textFieldDidChange(_:)), for: .editingChanged)
和
func textFieldDidChange(_ textField: UITextField) {
self.stpWeight.value = Double(textField.text!) ?? 0.0
}
@IBAction func stpActWeight(_ sender: Any) {
txtWeight.text = "\(stpWeight.value)"
}