2017-12-27 4 views
0

Ich möchte meinen UITextField Platzhalter auf center aligned und auch die placeholderColor ändern. Ich habe bereits Text Zentrum thisTextfeld Platzhalter zentriert und auch Farbe ändern

extension String { 
    func attributedString(aligment: NSTextAlignment) -> NSAttributedString { 
     return NSAttributedString(text: self, aligment: aligment) 
    } 
} 

extension NSAttributedString { 
    convenience init(text: String, aligment: NSTextAlignment) { 
     let paragraphStyle = NSMutableParagraphStyle() 
     paragraphStyle.alignment = aligment 
     self.init(string: text, attributes: [NSAttributedStringKey.paragraphStyle: paragraphStyle]) 
    } 
} 

und rufen Sie wie unter

über Extension-Methode unter Verwendung von make ausgerichtet
textField.attributedPlaceholder = NSAttributedString(text: text, aligment: .left) 

Aber ich bin nicht in der Lage, die Farbe der Platzhalter zu ändern. Wie sollte ich meine Platzhalterfarbe ändern? Jede Hilfe wird geschätzt.

+0

Bewerben das Vordergrundfarbenattribut für Ihre attributierte Zeichenfolge. – rmaddy

Antwort

2

Versuchen Sie, wie unten modifizierte Erweiterung mit ..

extension NSAttributedString 
    { 
     convenience init(text: String, aligment: NSTextAlignment, color:UIColor) { 
      let paragraphStyle = NSMutableParagraphStyle() 
      paragraphStyle.alignment = aligment 
      self.init(string: text, attributes: [NSAttributedStringKey.paragraphStyle: paragraphStyle, NSAttributedStringKey.foregroundColor:color]) 
     } 
    } 

Nutzungs

textField.attributedPlaceholder = NSAttributedString(text: text, aligment: .left, color:UIColor.red) 
0

einfach diesen Code versuchen

Swift 3,0

myTextField.textAlignment = .center 

myTextField.attributedPlaceholder = NSAttributedString(string: "PlaceHolder", attributes: [NSForegroundColorAttributeName: UIColor.green]) 
+0

Dies ist Swift 3 Code, die Frage ist mit Swift 4 markiert. – rmaddy