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
}
warum verschiebe es nicht aus dem Textfeld? Wenn nicht, was hast du versucht - zeige den Code - und was ist schief gelaufen? – Wain
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 } –