iOS 개발자는 텍스트 필드를 조작하는 방법과 작동 방법을 알아야 하므로 Apple은 이미 UITextFieldDelegate 프로토콜을 제공했습니다.
자세한 내용을 보려면 https://developer.apple.com/documentation/uikit/uitextfielddelegate
양식이 관련된 may 응용 프로그램을 보았을 수 있으며 문자가 특정 수로 제한된 양식에 특별히 입력할 때 입력하는 문자 수가 표시됩니다.
이 게시물에서는 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
}
} 출력
