Webentwicklung

UITableView mit Suche – Swift iOS

[ad_1]

In diesem Tutorial erfahren Sie, wie Sie mit Swift 4 eine UITableView mit Suchleiste in iOS erstellen können. Die folgenden Schritte sind ausgeführt:

Videoanleitung:

  1. Erstellen Sie ein neues Projekt in XCode.
  2. Ziehen Sie eine „Tabellenansicht“ in Ihr Storyboard und legen Sie sie dort ab.
  3. Öffnen Sie den Assistenten in der oberen Menüleiste Herausgeber> Assistant.
  4. Halten Sie die Umschalttaste gedrückt und ziehen Sie Ihre Tabellenansicht per Drag & Drop in Ihren Controller, um eine Steckdose zu erstellen. Gib ihm einen Namen wie „Tabellenansicht“.
@IBOutlet weak var tableview: UITableView!
  1. Verbinden Sie die Datenquelle und delegieren Sie Ihre Tabellenansicht mit Ihrem Controller.
  2. Erweitern Sie Ihren View Controller von UITableViewDataSource und UITableViewDelegate.
class ViewController: UIViewController, UITableViewDataSource, UITableViewDelegate {
  1. Erstellen Sie ein Array von Daten. Möglicherweise erhalten Sie dies von der API:
private var array: [String] = ["Cow", "Lion", "Wolf", "Camel", "Tiger"]
  1. Registrieren Sie jetzt Ihre Tabellenansicht in der in Swift integrierten Zelle für die Tabellenansicht:
override func viewDidLoad() {
    super.viewDidLoad()
    // Do any additional setup after loading the view.
    
    self.tableview.register(UITableViewCell.self, forCellReuseIdentifier: "cellIdentifier")
}
  1. Erstellen Sie nun 3 Funktionen:
    • 1st gibt die Gesamtzahl der Elemente zurück, die in der Tabellenansicht angezeigt werden müssen.
    • 2nd zeigt die Werte aus dem Array in jeder Tabellenansichtszelle an.
    • 3rd wird immer dann aufgerufen, wenn auf ein Zellenelement getippt oder geklickt wird.
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    return self.array.count
}

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    let cell: UITableViewCell = self.tableview.dequeueReusableCell(withIdentifier: "cellIdentifier")!
    
    cell.textLabel?.text = self.array[indexPath.row]
    
    return cell
}

func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
    print(self.array[indexPath.row])
}
  1. Ziehen Sie dann die Suchleiste in Ihr Storyboard oben in der Tabellenansicht und legen Sie sie dort ab, und erstellen Sie den Ausgang in Ihrem Controller wie in Schritt 4.
@IBOutlet weak var searchBar: UISearchBar!
  1. Verbinden Sie den Delegierten mit Ihrem Controller wie in Schritt 5.
  2. Implementieren Sie die UISearchBarDelegate in Ihrer Controller-Klasse:
class ViewController: UIViewController, UITableViewDataSource, UITableViewDelegate, UISearchBarDelegate {
  1. Erstellen Sie ein weiteres Array, das die Anfangswerte enthält:
private var initialArray: [String] = ["Cow", "Lion", "Wolf", "Camel", "Tiger"]
  1. Erstellen Sie abschließend eine Funktion, die aufgerufen wird, wenn Sie etwas in die Suchleiste eingeben. Diese Funktion durchsucht den Text in allen Anfangswerten des Arrays. Sie können die Groß- und Kleinschreibung der Suche nicht berücksichtigen, indem Sie sowohl den Text in Kleinbuchstaben als auch den Text der Suchleiste und des Arrays verkleinern. Wir müssen auch eine Bedingung setzen, dass, wenn die Suchleiste leer ist, alle Werte aus dem anfänglichen Array angezeigt werden. Zuletzt müssen Sie die Daten in der Tabellenansicht neu laden, um die gesuchten Daten anzuzeigen.
func searchBar(_ searchBar: UISearchBar, textDidChange searchText: String) {
    let text: String = self.searchBar.text ?? ""
    self.array = []
    for item in self.initialArray {
        if (item.lowercased().contains(text.lowercased())) {
            self.array.append(item)
        }
    }
    if (text.isEmpty) {
        self.array = self.initialArray
    }
    self.tableview.reloadData()
}



[ad_2]

Tags

Related Articles

Close
Immediate Momentumxnxx story sex meyzo.me haryana sex نيك بنت جامدة porn-arab.net احلى قصص نيك نيك ممثله ounoun.com صور مص اللسان shruti hasan porn desixxxv.net indiaxx hindi movie xxx video flyporntube.net lokl sex www.xnxx.xom russianporntrends.com local assamese sex video mide-689 freejavstreaming.net 無修正 温泉 تحميل سكس مترجم orivive.com فيس بوك سكس carla abellana shows pinoytvpage.com starstruck last batch sexy girls xxx pornia.info hindi hot sexy video download ang probinsyano june 24 2022 full episode advance teleseryeone.com apoy sa langit june 9 2022 artikulo 247 may 19 eteleserye.com umiiwas in english sexa xxx blowjobporntrends.com tamil sex full video tamil padam sex padam tubedessert.mobi www videos9 com india ka sexy video teenporntrends.com pornohut.su