gpt4 book ai didi

swift - 在 swift 中屏蔽 textField

转载 作者:搜寻专家 更新时间:2023-10-31 08:26:27 25 4
gpt4 key购买 nike

如何在 swift 中为文本字段设置掩码?例如,电话文本字段,当用户键入它时显示为电话格式,如 objective-C 中的以下代码:

self.textField.mask = @"(##)####-####";

最佳答案

Swift 4&&5 非常简单的电话号码掩码

您必须将此代码用作文本字段委托(delegate)。

 func formattedNumber(number: String) -> String {
let cleanPhoneNumber = number.components(separatedBy: CharacterSet.decimalDigits.inverted).joined()
let mask = "## ### ###"
var result = ""
var index = cleanPhoneNumber.startIndex
for ch in mask! where index < cleanPhoneNumber.endIndex {
if ch == "#" {
result.append(cleanPhoneNumber[index])
index = cleanPhoneNumber.index(after: index)
} else {
result.append(ch)
}
}
return result
}
func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {
guard let text = textField.text else { return false }
let newString = (text as NSString).replacingCharacters(in: range, with: string)
textField.text = formattedNumber(number: newString)
return false
}

关于swift - 在 swift 中屏蔽 textField,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32016350/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com