我在下面的代码。如何在我填写字段时动态计算步速,而不必通过点击“计算步速”按钮手动计算步速?
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var minTextField: UITextField!
@IBOutlet weak var secTextField: UITextField!
@IBOutlet weak var distTextField: UITextField!
@IBOutlet weak var paceLabel: UILabel!
func paceInSeconds (minutes:Double, seconds: Double, distance: Double) -> Double {
return ((minutes*60) + seconds) / distance
}
@IBAction func paceCalculator(sender: UIButton) {
var paceMinutes = paceInSeconds(((minTextField.text as NSString).doubleValue, seconds: (secTextField.text as NSString).doubleValue, distance: (distTextField.text as NSString).doubleValue)) / 60
var roundedPaceMinutes = Double(floor(paceMinutes))
var decimalPaceSeconds = paceMinutes - roundedPaceMinutes
var intPaceMinutes = Int(floor(roundedPaceMinutes))
var paceSeconds = Int(floor(decimalPaceSeconds * 60))
var paceSecondsZero = String(format: "%02d", paceSeconds)
paceLabel.text = "\(intPaceMinutes):\(paceSecondsZero)/km"
}
}
这是情节提要UI:
最佳答案
您可以使用 UITextFieldDelegate
协议的各种功能。如果将视图控制器分配为文本字段的委托,则它将能够对文本字段中的更改进行操作。
在您的情况下,您应该实现 textField:shouldChangeCharactersInRange:replacementString:
函数。
关于ios - 在Swift中动态计算步速,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31547021/