2016-06-23 5 views
0

Ich möchte attributedText zu einem textfield hinzufügen.Textfield ein Zeichen am Ende hinzufügen, nachdem ich attributierteText für das Textfeld in swift hinzufügen

Mein Code:

let emailArray = ["Abraham", "John Doe", "John Smith", "Awesome"] 

func textField(textField: UITextField!, shouldChangeCharactersInRange range: NSRange, replacementString string: String!) -> Bool 
{ 
    for value in self.emailArray { 

     print(value) 
     print(textField.text!) 

     if(value.lowercaseString.hasPrefix(textField.text! + string)) 
     { 
      print(range.location) 
      print(value) 
      var attributedText: NSMutableAttributedString = NSMutableAttributedString(string: value) 

      //attributedText.addAttributes([NSFontAttributeName: UIFont.boldSystemFontOfSize(14)], range: NSRange(location: 1, length: 6)) 
      attributedText.addAttributes([NSForegroundColorAttributeName: UIColor.grayColor()], range: NSRange(location: (range.location + 1), length: (value.characters.count - range.location - 1))) 

      textField.attributedText = attributedText 

      print(textField.text) 
     } 
    } 
    return true 
} 

Als ich 'a' im textfield abgeklebt, kann ich Abraham im emailArray überprüfen, nachdem ich attributedText von Abraham zum textfield gesetzt. Aber es ist ein Problem, das Ergebnis textfieldAbrahama zeigen, fügen Sie die textfield eine 'a' im automatischen Ende ... wie kann ich die 'a'? Danke

Antwort

0

Nach der Linie textField.attributedText = attributedText

return false 
+0

hinzufügen löschen Vielen Dank, es funktioniert sehr gut! Ich habe eine andere Frage, ich mache Autocomplete, ich möchte jetzt Tableview nicht verwenden. also setze ich andere Zeichen grau, nur 'a' ist schwarz. Ich denke, ich werde die Cursorposition setzen. Haben Sie einen Vorschlag für eine Textfeldautovervollständigung ohne Tabellenansicht? Vielen Dank. – Coucou

+0

Siehe http://stackoverflow.com/questions/7758093/ios-autocomplete-feature. Wenn das nicht hilft, sollten Sie es als neue Frage veröffentlichen. – Code

+0

Vielen Dank – Coucou

Verwandte Themen