1
我有一個UITextField用於格式化電話號碼。我試圖添加一個"+" sign
前綴作爲第一個字符,不能刪除。格式化&檢查工作正常,但有一個前綴似乎並不工作。 「 標誌。我知道這是因爲shouldChangeCharactersInRange
在我鍵入第一個數字之前不會被調用,但爲什麼makePrefix()
函數不添加前綴?將前綴字符添加到UITextField
所以,我被困在其中「的用戶點擊了的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)
}