Ios 不单击按钮的三个文本字段值之和(Swift-Xcode)
目前,我的标签无法在没有按钮功能操作的情况下自动读取添加的3个文本字段值。因此,我只希望我的文本字段仅为Int输入。下面附有一个屏幕截图,以便更好地参考。感谢那些能帮我的人。谢谢 视图控制器Ios 不单击按钮的三个文本字段值之和(Swift-Xcode),ios,swift,Ios,Swift,目前,我的标签无法在没有按钮功能操作的情况下自动读取添加的3个文本字段值。因此,我只希望我的文本字段仅为Int输入。下面附有一个屏幕截图,以便更好地参考。感谢那些能帮我的人。谢谢 视图控制器 import UIKit class TryingoutController: UIViewController { @IBOutlet var impact: UITextField! @IBOutlet var rigour: UITextField! @IBOutlet va
import UIKit
class TryingoutController: UIViewController {
@IBOutlet var impact: UITextField!
@IBOutlet var rigour: UITextField!
@IBOutlet var response: UITextField!
@IBOutlet var total: UILabel!
一种方法是将
self
作为控制事件的目标添加到文本字段中。editingChanged
impact.addTarget(self, action: #selector(textChanged), for: .editingChanged)
// do the same for other textfields
然后声明一个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)
)
}
或者,您可以遵循UITextFieldDelegate
:
class TryingoutController: UIViewController, UITextFieldDelegate {
}
并实施应根据暴徒的行为改变。然后,将文本字段的委托设置为self
:
impact.delegate = self
// do the same for other text fields.
response.text??“0”
这有帮助吗?如果实现了shouldChange
delegate以将字符集限制为数字,也可能会有所帮助。您可以使用此答案执行此操作-@Skywalker谢谢,添加了指向该答案的链接。谢谢,它成功了!但最后一件事,我如何验证我的“影响”文本字段?因此,用户只能从1-80?@Kinja输入,您必须使用if语句来检查输入是否在范围内。如果其中任何一个超出范围,则使用标签输出适当的消息。