创建UITextFieldDelegate以限制Swift中的字符数

问题描述 投票:0回答:2

我是代表们的新手,我正在尝试使用UITextFieldDelegate。我的目标是将此文本字段中的字符数限制为五个字符,就像我创建一个邮政编码文本字段一样。

我正在使用带有文本字段的现成视图控制器,我创建了一个名为ZipCodeDelegate.swift的委托文件。我已经修改了故事板中的文本字段,以便在用户点击字段时显示数字键盘。这是我的viewController:

import UIKit

class ViewController: UIViewController, UITextFieldDelegate {

// MARK: Outlets

@IBOutlet weak var zipTextField: UITextField!

override func viewDidLoad() {
    super.viewDidLoad()
    // Do any additional setup after loading the view, typically from a nib.
}

override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()
    // Dispose of any resources that can be recreated.
}
}

这是我的委托文件:

import Foundation
import UIKit

class ZipCodeDelegate: NSObject, UITextFieldDelegate {


}

我不知道接下来要做什么。我不确定如何限制文本字段的字符数,以及告诉视图控制器该委托文件是否存在以及它应该控制所述文本字段。

swift xcode delegates uitextfield uitextfielddelegate
2个回答
1
投票

使用此qazxsw poi委托邮政编码和qazxsw poi限制字符计数

UITextField

Int委托方法检查最大字符限制。

func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {

    if string.rangeOfCharacter(from: NSCharacterSet.decimalDigits.inverted) == nil{
        let len = (textField.text?.characters.count)! + string.characters.count
        if len <= 5 {
            return true
        }
    }
    return false
}

0
投票

斯威夫特4

UITextField
© www.soinside.com 2019 - 2024. All rights reserved.