我目前在标签无法自动读取 3 个文本字段值的添加时遇到问题,而无需按钮功能操作。因此,我只希望我的文本字段是一个 Int 输入。下面附上一个屏幕截图,以供更好地参考。感谢那些能帮助我解决这个问题的人。谢谢!
视图控制器
import UIKit
class TryingoutController: UIViewController {
@IBOutlet var impact: UITextField!
@IBOutlet var rigour: UITextField!
@IBOutlet var response: UITextField!
@IBOutlet var total: UILabel!
Run Code Online (Sandbox Code Playgroud)
一种方法是self作为目标添加到文本字段中,用于控制事件.editingChanged
impact.addTarget(self, action: #selector(textChanged), for: .editingChanged)
// do the same for other textfields
Run Code Online (Sandbox Code Playgroud)
然后声明一个textChanged方法。这应该处理文本字段中的文本更改时发生的情况。一种实现是将文本字段中的所有值(如果有,并且有效)相加并将其显示在标签中。
func textChanged() {
let impactValue = Int(impact.text!)
let rigourValue = Int(rigour.text!)
let responseValue = Int(response.text!)
total.text = String(describing:
(impactValue ?? 0) + (rigourValue ?? 0) + (responseValue ?? 0)
)
}
Run Code Online (Sandbox Code Playgroud)
或者,您可以符合UITextFieldDelegate:
class TryingoutController: UIViewController, UITextFieldDelegate {
}
Run Code Online (Sandbox Code Playgroud)
并shouldChange根据Thuggish Nuggets 的答案实施。然后,将delegate文本字段的s设置为self:
impact.delegate = self
// do the same for other text fields.
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1209 次 |
| 最近记录: |