我在UITextField
使用新Swift
语言在 a 中创建前缀时遇到问题。目前,我已经UITextField
使用 Interface Builder 创建了一个,并为其分配了一个IBOutlet
名为usernameField的函数,然后使用我在其中textFieldDidBeginEditing
编写了一个名为usernamePrefix的函数,仅包含单词“C-TAD-”,最后我限制了最大字符编号为 13,如下所示:NSMutableAttributedString
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?
谢谢您的帮助