免责声明:我是编码新手。
我正在制作一个个人理财应用程序。当用户创建新事务时,我希望一次向他们显示一个文本字段。
在单个视图控制器中,我创建了一个带有 switch 语句的 next 按钮来隐藏/取消隐藏文本字段:
@IBAction func nextPressed(_ sender: UIButton) {
buttonCounter += 1
switch buttonCounter {
case 1:
currencyTextField.isHidden = true
nameTextField.isHidden = false
case 2:
nameTextField.isHidden = true
setupDateView()
case 3:
saveTransaction()
default:
print("Error")
}
}
它运行得很好,但是我在使用具有多个文本字段的 UITextfield 委托时遇到了一些问题。
我可以用@IBDesignable class customTextField: UITextField
解决这个问题,但在我继续之前,我想知道这是否是糟糕的编程实践。我是否仅使用单个视图控制器使其过于复杂?这种情况的最佳做法是什么?
提前谢谢。
是无法在委托方法中跟踪多个文本字段文本的问题吗?
如果是这种情况,那么最简单的方法是知道在委托方法中使用哪个文本字段。由于您有两个文本字段货币文本字段和名称文本字段。
func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {
if textField == currencyTextField {
// do something
} else if textField == nameTextField {
// do something
}
return true
}
让我知道它是否有帮助。