Was ich erstellen möchte, ist ein automatisches Textfeld in iOS.So erstellen Sie ein Autocomplete-Textfeld in Swift
Ich habe ein Formular zum Auswählen eines Clients, wobei der Benutzer einen Client einmal mithilfe eines Textfelds auswählen muss. Was ich möchte, wenn der Benutzer die ersten drei Buchstaben in das Textfeld schreibt, möchte ich, dass ein Dienst eine Remote-Web-Service-Abfrage mit dem eingegebenen Text ausführt und die Abfrageergebnisse als Auto-Complete-Vorschläge präsentiert.
Unten ist mein aktueller Code für meine App (nur 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()
}
Hier ist die Json-Ausgabe, die mein Web-Service bietet.
["123,John", "343,Smith", "345,April"]
durch Kommata getrennt, ist der erste Parameter die client ID
und der zweite Parameter ist der Name des Kunden. John
ist der Name, daher sollte er in den Vorschlägen zur automatischen Vervollständigung angezeigt werden. Wenn diese Option ausgewählt wird, wird der Text clientTextField
auf John
gesetzt.
Der aktuelle Textinhalt der clientTextField
wird als GET-Parameter an meinen Webservice übergeben.
Ich weiß nicht, wie dies zu tun. Der Benutzer könnte tippen und noch nicht fertig sein, während mehrere Abfragen bereits gesendet worden sein könnten.
Danke.
iwillnot: Ich habe Referenzen zu automatisch vervollständigten Textfeldern auf Swift unten gesammelt.
Verweise auf Auto-Vervollständigen Textfelder auf Swift Erstellen
https://github.com/mnbayan/AutocompleteTextfieldSwift (Juli 2016)
http://github.com/Mazyod/MJAutoComplete (Juli 2015)
http://github.com/hoteltonight/HTAutocompleteTextField (März 2015)
https://github.com/gaurvw/MPGTextField (Juni 2014)
Bestellt durch das letzte Update vom 19. August 2016.
einige Bibliotheken zu minimieren: 1. https://github.com/hoteltonight/HTAutocompleteTextField 2. https://github.com/Mazyod/ MJAutoComplete –