У меня возникла проблема с созданием префикса внутри UITextField
с использованием нового языка Swift
. В настоящее время я создал UITextField
с помощью Interface Builder, и я назначил IBOutlet
к нему, названному usernameField, а затем с помощью функции textFieldDidBeginEditing
я пишу NSMutableAttributedString
внутри него, названный usernamePrefix, содержащий только слово «C-TAD- "и, наконец, я ограничил число UITextField
максимум символов до 13, например, так:Неприменимый префикс внутри UITextField с использованием Swift
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()
. Также как я могу сделать userernamePrefix un-editable и un-deletable пользователем?
Спасибо за помощь
Это сработало для меня. Спасибо Джереми! –
Работает отлично !!! –
Отлично Спасибо вам большое. –