Das folgende Beispiel ist eine Anpassung und Vereinfachung eines längeren Beitrags von We ❤ Swift. So wird es aussehen:
Erstellen Sie ein neues Projekt
Es kann nur die übliche Single View-Anwendung sein.
Fügen Sie den Code hinzu
Ersetzen Sie den Code ViewController.swift durch Folgendes:
import UIKit
class ViewController: UIViewController, UITableViewDelegate, UITableViewDataSource {
let animals: [String] = ["Horse", "Cow", "Camel", "Sheep", "Goat"]
let cellReuseIdentifier = "cell"
@IBOutlet var tableView: UITableView!
override func viewDidLoad() {
super.viewDidLoad()
self.tableView.register(UITableViewCell.self, forCellReuseIdentifier: cellReuseIdentifier)
tableView.delegate = self
tableView.dataSource = self
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return self.animals.count
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell:UITableViewCell = self.tableView.dequeueReusableCell(withIdentifier: cellReuseIdentifier) as UITableViewCell!
cell.textLabel?.text = self.animals[indexPath.row]
return cell
}
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
print("You tapped cell number \(indexPath.row).")
}
}
Lesen Sie die In-Code-Kommentare, um zu sehen, was passiert. Die Highlights sind
- Der View Controller übernimmt die Protokolle
UITableViewDelegate
und UITableViewDataSource
.
- Die
numberOfRowsInSection
Methode bestimmt, wie viele Zeilen in der Tabellenansicht vorhanden sind.
- Die
cellForRowAtIndexPath
Methode richtet jede Zeile ein.
- Die
didSelectRowAtIndexPath
Methode wird jedes Mal aufgerufen, wenn auf eine Zeile getippt wird.
Fügen Sie dem Storyboard eine Tabellenansicht hinzu
Ziehen Sie a UITableView
auf Ihren View Controller. Verwenden Sie das automatische Layout, um die vier Seiten zu fixieren.
Schließen Sie die Steckdosen an
ControlZiehen Sie von der Tabellenansicht in IB zum tableView
Ausgang im Code.
Fertig
Das ist alles. Sie sollten Ihre App jetzt ausführen können.
Diese Antwort wurde mit Xcode 9 und Swift 4 getestet
Variationen
Zeilenlöschung
Sie müssen dem obigen Basisprojekt nur eine einzige Methode hinzufügen, wenn Sie Benutzern das Löschen von Zeilen ermöglichen möchten. In diesem grundlegenden Beispiel erfahren Sie, wie.
Zeilenabstand
Wenn Sie einen Abstand zwischen Ihren Zeilen wünschen, lesen Sie dieses ergänzende Beispiel .
Benutzerdefinierte Zellen
Das Standardlayout für die Tabellenansichtszellen entspricht möglicherweise nicht Ihren Anforderungen. Schauen Sie sich dieses Beispiel an, um mit dem Erstellen eigener benutzerdefinierter Zellen zu beginnen.
Dynamische Zellenhöhe
Manchmal möchten Sie nicht, dass jede Zelle dieselbe Höhe hat. Ab iOS 8 ist es einfach, die Höhe abhängig vom Zelleninhalt automatisch einzustellen. In diesem Beispiel finden Sie alles, was Sie für den Einstieg benötigen.
Weiterführende Literatur