1
我在使用新的Swift
語言在UITextField
內創建一個前綴的問題。目前,我已創建使用Interface Builder中UITextField
和我分配了IBOutlet
給它命名爲usernameField,然後使用textFieldDidBeginEditing
功能我寫NSMutableAttributedString
裏面,命名爲usernamePrefix,只包含文字「C-TAD- 「最後我限制了UITextField
最多字符數到13,像這樣:使用Swift在UITextField中的不可編輯的前綴
class ViewController: UIViewController, UITextFieldDelegate {
@IBOutlet var usernameField : UITextField!
private var usernamePrefix = NSMutableAttributedString(string: "C-TAD-")
func textFieldDidBeginEditing(textField: UITextField) {
if textField == usernameField {
if usernameField.text == "" {
usernameField.attributedText = usernamePrefix
}
}
usernameField.addTarget(self, action: "textFieldDidChangeText:", forControlEvents:UIControlEvents.EditingChanged)
}
func textField(textField: UITextField!, shouldChangeCharactersInRange range: NSRange, replacementString string: String!) -> Bool {
let maxUsernameLength = countElements(usernameField.text!) + countElements(string!) - range.length
return maxUsernameLength <= 13
}
override func viewDidLoad() {
super.viewDidLoad()
usernameField.delegate = self
passwordField.delegate = self
}
}
現在,我怎麼可以爲了賦予新的參數到usernamePrefix得給2種不同的顏色,以書面文本UITextField
?我希望在.lightGreyColor()
中有前綴,其餘的在.blackColor()
。另外我怎樣才能使usernamePrefix不可編輯和不可刪除的用戶?
感謝您的幫助
這對我有效。謝謝傑里米! – 2016-11-30 13:35:17
完美的作品! – 2017-07-21 04:28:06
完美謝謝你。 – 2017-12-20 07:25:58