UITextField
新しいSwift
言語を使用した内の接頭辞の作成に関して問題があります。現在UITextField
、Interface Builder を使用して を作成し、 usernameFieldIBOutlet
という名前の を割り当て、関数を使用してその内部にusernamePrefixという名前の "C-TAD-" という単語のみを含め、最後に最大文字数を制限しました。次のように 13 に番号を付けます。textFieldDidBeginEditing
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
}
}
さて、に書かれたテキストに2つの異なる色を与える必要があるために、 usernamePrefixに新しいパラメータをどのように割り当てることができますUITextField
か? .lightGreyColor()
プレフィックスをに、残りをにしたいと思い.blackColor()
ます。また、ユーザーが usernamePrefix を編集および削除できないようにするにはどうすればよいですか?
助けてくれてありがとう