Sto sviluppando un'app Point Of Sales.UITextField to Input Money Amount
Quindi vorrei
Diciamo input dell'utente
100000
ma voglio per mostrare automaticamente100,000
. e1000000
diventa1,000,000
Il secondo problema è che, non voglio che l'utente sia in grado di immettere direttamente
.
.Il terzo problema è che poiché si tratta di denaro, non è possibile consentire all'utente di inserire 0 all'inizio.
Qualche idea?
Finora sono riuscito a limitare l'ingresso di cifre decimali solo
func textField(textField: UITextField, shouldChangeCharactersInRange range: NSRange, replacementString string: String) -> Bool {
let numberSet: NSCharacterSet = NSCharacterSet.decimalDigitCharacterSet().invertedSet;
return string.stringByTrimmingCharactersInSet(numberSet).length > 0 || string == "";
}
ringrazio molto
PS: non ho bisogno di alcun cifre decimali, anche abbiamo bisogno di prendere in conto quando l'utente cambia la posizione del cursore quando colpisce backspace
Grazie per la risposta, ma preferisco una soluzione 'UITextFieldDelegate', perché l'evento editChanged si attiverà solo dopo che il testo del testo è già stato modificato. Il che significa che l'utente può vedere il ritardo – JayVDiyk
@JayVDiyk non c'è ritardo. Il campo a cui è collegato l'editing ha cambiato UIControlEvent. Hai provato il progetto di esempio? –
Grazie, funziona. Devo aspettare 22 ore per la taglia – JayVDiyk