键入时如何计算直播的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事件插座。检查下图。

enter image description here

只需为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,也可以在下面注册editingChangedUITextField事件。

yourTextField.addTarget(self, action: #selector(tfEditingChanged(_:)), for: .editingChanged)

希望这会有所帮助。

以上是关于键入时如何计算直播的UITextField字数(Swift)?的主要内容,如果未能解决你的问题,请参考以下文章

iOS中UITextField的字数限制

键入时自动拉伸 UITextField

在 UITextField 中键入时保持占位符静态

防止 UITextField 在键入时更改宽度

UITextField(有时)在键入时使应用程序崩溃

编辑 UITextField 时正在重置 UIScrollView