2017-07-16 2 views
0

Ich erstelle eine Einstellungsseite für meine Flashcard-App. Ich bin an den Punkt gekommen, an dem ich die Tabellenansicht im Simulator starte. Sie zeigt alle verschiedenen Kategorien an, die ich in der Variablen "setting" habe (siehe Code unten). Ich möchte jedoch in jeder Zeile, die erstellt wird, einen Schalter haben. Wenn Sie sich beispielsweise den Code ansehen, heißt die erste Zeile "Soundeffekte". In dieser Zeile befindet sich ein Schalter, mit dem der Benutzer die Soundeffekte ein- und ausschalten kann. Ich frage nicht, wie man dem Schalter Funktionalität hinzufügt (obwohl, wenn Sie erklären können, dass es geschätzt wird), aber gerade jetzt bin ich nur besorgt, einen Schalter in jeder Reihe zu schaffen, die geschaffen wird. Vielen Dank!Jeder Zelle in einer UItable-Ansicht einen Schalter hinzufügen

import UIKit 

class ThirdViewController: UIViewController, UITableViewDelegate, UITableViewDataSource { 

var setting = ["Sound Effects", "initial /l/ 1 syllable", "initial /l/ multisyllabic", "intersyllabic /l/", "final /l/", "initial /pl/", "initial /bl/", "initial /fl/", "initial /gl/", "initial /kl/", "initial /sl/", "final /l/ clusters"] 



@IBOutlet weak var tableView: UITableView! 

func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { 
    return (setting.count) 
} 
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { 
    let cell = UITableViewCell() 
    print(indexPath.row) 
    cell.textLabel?.text = setting[indexPath.row] 
    return cell 
} 



override func viewDidLoad() { 
    super.viewDidLoad() 

    tableView.dataSource = self 
    tableView.delegate = self 



} 



} 
+0

Bedarf individuelle tableviewcell erstellen –

Antwort

0

Sie müssen:

  1. Erstellen einer benutzerdefinierten UITableViewCell Unterklasse, die @IBOutlet s für Ihren Text-Label und UISwitch hat.
  2. Legen Sie im Storyboard oder in der Xib Ihrer Tabellenansicht den Typ der dynamischen Tabellenansichtszelle auf den Namen Ihrer benutzerdefinierten Unterklasse fest.
  3. Geben Sie im Inspektor für Attribute der Zelle einen benutzerdefinierten Wiederverwendungsbezeichner ein.
  4. Ziehen Sie eine UISwitch in den dynamischen Zellenprototyp.
  5. Schließen Sie die Ausgänge der benutzerdefinierten Zelle an die Beschriftung und den Schalter an.
  6. In Ihrer tableView(_:cellForRowAt:) Implementierung statt eine Tabellenzelle jedes Mal Instanziierung (die fast nie ist das, was Sie tun wollen), tableView.dequeueReusableCell(withIdentifier:for:) nennen und in der benutzerdefinierten Wiederverwendung Kennung, die Sie in Schritt 3 Cast verwendet passieren die hat die Zelle an Ihren benutzerdefinierten Typ zurückgegeben und dann die Werte der Ausgänge festgelegt.
1

Versuchen Sie dies in Ihrem cellForRawAtIndexPath:

let mySwitch = UISwitch() 
cell.accessoryView = mySwitch 
Verwandte Themen