在iOS中的tableView中设置editText长度限制



我使用tableView作为注册屏幕,需要对每一行强制执行一些长度限制。我使用了下面的函数,但它让所有字段都有相同的约束。有人知道怎么处理吗?

func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {
let maxLength = 12
let currentString: NSString = textField.text! as NSString
let newString: NSString =
currentString.replacingCharacters(in: range, with: string) as NSString
return newString.length <= maxLength
}

由于您的文本字段委派方法在单元格中,因此单元格需要知道为其文本字段强制执行的长度。

视图控制器需要根据当前索引路径为cellForRowAt中的每个单元格提供该长度。

textLength属性添加到单元格类中,然后根据需要在cellForRowAt中设置该值。

然后,单元格类中的shouldChangeCharactersIn可以使用textLength属性,而不是现在的硬编码12

相关内容

  • 没有找到相关文章

最新更新