在iOS Swift 3

时间:2017-06-29 05:15:55

标签: ios swift3 uitextfield

让我用一个例子解释我的问题

我有一个UITextField,想要限制它的文本,并且还有一个UILabel,告诉用户可以输入多少个字符。 因此,当我开始输入时,一切都运行良好,我正在使用此委托功能:

func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {}

但是当我分配这样的文字时:textField.text = "Hello", 不调用上述方法,因此不改变计数器标签值,

我也尝试过:textField?.addTarget(self, action: #selector(txtFieldChanged), for: .allEditingEvents)

但没有运气

1 个答案:

答案 0 :(得分:1)

根据您的问题,当您将文本分配给文本字段(如“hello”)时,您必须在视图中计算文本字段长度,然后在此处设置计数器。当您开始输入您的文本字段时,您的代表将被调用。

double left = 500 - textView.text.length ;

lblcounter.text = [NSString stringWithFormat:@"%.0f character left",left];