【发布时间】:2020-11-23 19:09:05
【问题描述】:
当我输入一个值时,我尝试使用 textFieldShouldReturn 来让我的文本字段控制图像的宽度,但是当我尝试将我的 textField 中的文本转换为 Int 时,它在我的控制台中显示为 nil。
func textFieldShouldReturn(_ textField: UITextField) -> Bool {
textField.resignFirstResponder()
let text = textField.text
let numText = Int(textField.text!)
if widthPer.text == text {
print(text!)
print(widthPer.text!)
print(numText!) //returns nil
squareOneWidth.constant = CGFloat(numText!) * 2
slider.value = Float(numText!)
calPercentage()
calPercentageTwo()
}
return true
}
我也只允许用户输入 10 到 90 之间的数字。我认为这可能与我允许这样做的功能有关。我该如何解决这个问题?
func textFieldShouldEndEditing(_ textField: UITextField) -> Bool {
let num = Double(textField.text!)
if num! < 10 {
textField.text = "10%"
} else if num! > 90 {
textField.text = "90%"
} else if num! >= 10 || num! <= 90 {
textField.text = String(Int(num!)) + "%"
}
//print(num!)
return true
}
【问题讨论】: