gpt4 book ai didi

ios - 向 UITextField 添加前缀字符

转载 作者:搜寻专家 更新时间:2023-11-01 07:26:11 25 4
gpt4 key购买 nike

我有一个用于格式化电话号码的 UITextField。我正在尝试添加一个 "+"sign 前缀作为第一个字符,它不能被删除。格式化和检查工作正常,但有前缀似乎不起作用..

开始时,它不显示"+"符号 但是,如果我写一个字符并删除,它会显示"+"符号。我知道这是因为 shouldChangeCharactersInRange 在我键入第一个数字之前不会被调用,但是为什么 makePrefix() 函数不添加前缀?

所以我卡在了“用户点击了 UITextField 但还没有输入字符”的时候。

override func viewDidLoad() {
super.viewDidLoad()

makePrefix()
}

func makePrefix() {
let attributedString = NSMutableAttributedString(string: "+")
attributedString.addAttribute(NSForegroundColorAttributeName, value: UIColor.whiteColor(), range: NSMakeRange(0,1))
phoneTextField.attributedText = attributedString
}

func textField(textField: UITextField, shouldChangeCharactersInRange range: NSRange, replacementString string: String) -> Bool
{
if textField == phoneTextField {

textField.typingAttributes = [NSForegroundColorAttributeName:UIColor.whiteColor()]

return false
}

return true

}

func formattedPhoneNumber(updatedTextString: NSString, textField: UITextField) {
textField.text = "\(updatedTextString as String)"
print(updatedTextString)
}

最佳答案

检查 textFieldDidBeginEditing,它会在 textField 成为第一响应者时被调用。

检查文本是否以“+”开头,如果不是则调用您的 makePrefix()。

关于ios - 向 UITextField 添加前缀字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36046528/

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