如何在 iOS 中输入文本时计算文本框中的字符数?
作为一名 iOS 开发人员,应该知道如何操作文本字段及其操作,Apple 已经提供了 UITextFieldDelegate 协议。
要了解更多信息,请访问 https://developer.apple.com/documentation/uikit/uitextfielddelegate
您可能在许多包含表单的应用程序中看到过这种情况,当您输入时,您会看到输入的字符数量,尤其是在字符数量受限的表单中。
在这篇文章中,我们将看到如何在您在 TextField 中输入时显示字符计数。
步骤 1 - 打开 Xcode → 新建项目 → 单视图应用程序 → 我们将其命名为“TextFieldCount”
步骤 2 - 打开 Main.storyboard 并添加 TextField 和标签,如所示,为标签和文本字段创建 @IBOutlet 并分别将其命名为 lblCount 和 txtInputBox。

步骤 3 - 在 ViewController.swift 中确认 UITextFieldDelegate 协议并使用 textInputBox 将委托设置为 self。
class ViewController: UIViewController, UITextFieldDelegate {
txtInputBox.delegate = self步骤 4 - 实现委托 shouldChangeCharactersIn 并将其中的代码写如下。
func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {
if(textField == txtInputBox){
let strLength = textField.text?.count ?? 0
let lngthToAdd = string.count
let lengthCount = strLength + lngthToAdd
self.lblCount.text = "\(lengthCount)"
}
return true
}步骤 5 - 运行应用程序,获取最终代码,
示例
import UIKit
class ViewController: UIViewController, UITextFieldDelegate {
@IBOutlet var txtInputBox: UITextField!
@IBOutlet var lblCount: UILabel!
override func viewDidLoad() {
super.viewDidLoad()
txtInputBox.delegate = self
}
func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {
if(textField == txtInputBox){
let strLength = textField.text?.count ?? 0
let lngthToAdd = string.count
let lengthCount = strLength + lngthToAdd
self.lblCount.text = "\(lengthCount)"
}
return true
}
}输出

广告
数据结构
网络
关系型数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP