2016-05-04 3 views
0

enter image description hereBenutzer sollte nicht in der Lage sein gegebenes Symbol in Textfeld zu löschen, die ein Text

func textfield (textfield: UITextField, shouldChangeCharactersInRange Bereich: NSRange, replacementString string: String) -> Bool { return true }

Ich muss Benutzer beschränken, um dieses Symbol aus Textfeld in Swift zu löschen. Der Benutzer kann jedes Objekt aus dem Textfeld löschen, ohne dieses Symbol zu löschen.

+0

warum verschiebe es nicht aus dem Textfeld? Wenn nicht, was hast du versucht - zeige den Code - und was ist schief gelaufen? – Wain

+0

Ich kann dieses Symbol nicht aus dem Textfeld entfernen, und ich habe nichts dafür getan. Dies ist der Fall if (string.characters.count == 1) { wenn currencyDetail! = "" { betrag.text = currencyDetail } zurückgeben false } –

Antwort

0

Da das wahrscheinlichste Szenario ist, dass das Euro-Symbol immer im Textfeld sein wird und das erste Zeichen sein wird, würde ich prüfen, ob der Bereich der Zeichen länger als 0 ist und bei 0 beginnt unabhängig von dem Symbol in der ersten Position)

func textField(textField: UITextField, shouldChangeCharactersInRange range: NSRange, replacementString string: String) -> Bool { 
    if range.length>0 && range.location == 0 { 
      return false 
    } 
    return true 
} 

Wenn Sie jedoch könnte das Euro-Symbol nicht immer in das Textfeld ein, prüfen Sie, ob der Benutzer dieses Symbol löscht oder nicht durch einen Verweis auf die Zeichenfolge immer die Benutzer ändert und prüft, ob dieser ein Euro-Symbol enthält:

func textField(textField: UITextField, shouldChangeCharactersInRange range: NSRange, replacementString string: String) -> Bool { 
    if range.length>0 && range.location == 0 { 
     let changedText = NSString(string: textField.text!).substringWithRange(range) 
     if changedText.containsString("€") { 
      return false 
     } 
    } 
    return true 
} 
+0

Vielen Dank Craig Ihre Lösung funktioniert für mich. und ich mag die Art und Weise, wie du es in beiden Richtungen erklärt hast. –

Verwandte Themen