受耐克跑步俱乐部应用程序的启发,我想做一个计时器。要设置时间,我需要文本格式为00:00(分钟:秒)。
我尝试了方法textField(shouldChangeCharactersIn range)表示为字符串:String(格式:“%02d:%02d)
func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {
if let digit = Int(string) {
seconds = seconds * 10 + digit
textField.text = String(format: "%02d:%02d", seconds/60, seconds%60)
}
if string == "" {
seconds = seconds / 10
textField.text = String(format: "%02d:%02d", seconds/60, seconds%60)
}
return false
}
当我输入3次“ 2”时,我想输入它02:22 但是我只有03:42。 有什么技巧可以改善这一点吗?或任何其他使这项工作的方法。我还认为,是否有可能使有限的输入textfield.text成为同一格式的4位数字,然后将该文本传递到另一个屏幕进行转换。