键入时如何计算直播的UITextField字数(Swift)?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了键入时如何计算直播的UITextField字数(Swift)?相关的知识,希望对你有一定的参考价值。
我搜索了所有。我想计算文本字段中的单词数。字符有很多解决方案,但不是单词。请提供。
提前致谢。
答案
为此,请将UITextFieldDelegate设置为视图控制器并实现该方法: -
myTextfield.delegate = self // In Your View Controller
然后
extension myViewController : UITextFieldDelegate {
func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {
if let _ = textField.text{
let text = textField.text! as NSString
let fullText = text.replacingCharacters(in: range, with: string)
let wordCount = fullText.components(separatedBy: " ").count
print(wordCount)
}
return true
}
}
另一答案
将textfield值放入字符串并使用“”空格分隔符计算它们
let text: String = textfieldvalue
print(text.componentsSeparatedByString(" ").count)
另一答案
尝试这个解决方案来查找UITextField
中的单词数量,无需将任何委托设置为UITextField
。只需从UITextField
和所有设置中编辑Xib
的编辑Changed事件插座。检查下图。
只需为outlet方法添加以下代码即可。
@IBAction func tfEditingChanged(_ sender: UITextField) {
if let string = sender.text {
let st1 = string.trimmingCharacters(in: .whitespacesAndNewlines)
if !st1.isEmpty { // Prints number of words.
print("count words= (st1.components(separatedBy: " ").count)")
}
else {
print("count words = 0")
}
}
}
如果您没有以编程方式使用Xib
,也可以在下面注册editingChanged
的UITextField
事件。
yourTextField.addTarget(self, action: #selector(tfEditingChanged(_:)), for: .editingChanged)
希望这会有所帮助。
以上是关于键入时如何计算直播的UITextField字数(Swift)?的主要内容,如果未能解决你的问题,请参考以下文章