Quello che voglio essere in grado di creare è un campo di testo completo automatico in iOS.Come creare un campo di testo a completamento automatico in Swift
Ho un modulo per selezionare un client, in cui l'utente deve selezionare un client una volta utilizzando un campo di testo. Quello che voglio succedere è quando l'utente scrive le prime tre lettere sul campo di testo, voglio che alcuni servizi eseguano una query di servizio Web remoto usando il testo inserito e presentino i risultati della query come suggerimenti di completamento automatico.
Di seguito è riportato il mio codice corrente per la mia app (solo iPad).
import UIKit
class AddClientViewController: UIViewController, UITextFieldDelegate {
@IBOutlet weak var clientTextField: UITextField!
var foundList = [String]()
override func viewDidLoad() {
super.viewDidLoad()
let listUrlString = "http://bla.com/myTextField.php?field=\(clientTextField)"
let myUrl = NSURL(string: listUrlString);
let request = NSMutableURLRequest(URL:myUrl!);
request.HTTPMethod = "GET";
let task = NSURLSession.sharedSession().dataTaskWithRequest(request) {
data, response, error in
if error != nil {
print(error!.localizedDescription)
dispatch_sync(dispatch_get_main_queue(),{
AWLoader.hide()
})
return
}
do {
let json = try NSJSONSerialization.JSONObjectWithData(data!, options: .MutableContainers) as? NSArray
if let parseJSON = json {
self.foundList = parseJSON as! [String]
}
} catch {
print(error)
}
}
task.resume()
}
Ecco l'output JSON fornito dal mio servizio web.
["123,John", "343,Smith", "345,April"]
separati da virgole, il primo parametro è il client ID
e il secondo parametro è il nome del cliente. John
è il nome quindi deve essere presentato nei suggerimenti di completamento automatico, che se selezionato imposterà il testo di clientTextField
a John
.
Il contenuto di testo corrente di clientTextField
viene passato come parametro GET al mio servizio web.
Non so come farlo. L'utente potrebbe digitare e non ancora terminato, mentre più query potrebbero già essere state inviate.
Grazie.
Iwillnot: ho raccolto i riferimenti ai campi di testo di completamento automatico su Swift di seguito.
I riferimenti per la creazione di auto campi di testo completo su Swift
https://github.com/mnbayan/AutocompleteTextfieldSwift (luglio 2016)
http://github.com/Mazyod/MJAutoComplete (luglio 2015)
http://github.com/hoteltonight/HTAutocompleteTextField (Marzo 2015)
https://github.com/gaurvw/MPGTextField (giugno 2014)
Ordinato dall'ultimo aggiornamento il 19 agosto 2016.
alcune librerie: 1. https://github.com/hoteltonight/HTAutocompleteTextField 2. https://github.com/Mazyod/ MJAutoComplete –