新的视图控制器与使用 .isHidden = true 隐藏文本字段



免责声明:我是编码新手。

我正在制作一个个人理财应用程序。当用户创建新事务时,我希望一次向他们显示一个文本字段。

在单个视图控制器中,我创建了一个带有 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
}

让我知道它是否有帮助。

最新更新