Wie kann ich einbetten? UISwitch
in eine UITableView
Zelle ? Beispiele finden Sie im Einstellungsmenü.
Meine aktuelle Lösung:
UISwitch *mySwitch = [[[UISwitch alloc] init] autorelease];
cell.accessoryView = mySwitch;
Wie kann ich einbetten? UISwitch
in eine UITableView
Zelle ? Beispiele finden Sie im Einstellungsmenü.
Meine aktuelle Lösung:
UISwitch *mySwitch = [[[UISwitch alloc] init] autorelease];
cell.accessoryView = mySwitch;
Antworten:
Das Festlegen als Zubehöransicht ist normalerweise der richtige Weg. Sie können es in einrichten.
tableView:cellForRowAtIndexPath:
Möglicherweise möchten Sie mit target / action etwas tun, wenn der Schalter umgelegt wird. Wie so:quelle
switchView.tag = indexPath.row
für erkennen, welcher Zeilenschalter für schnell geändertSie können der Zelle einen UISwitch oder ein anderes Steuerelement hinzufügen
accessoryView
. Auf diese Weise wird es auf der rechten Seite der Zelle angezeigt, was wahrscheinlich das ist, was Sie wollen.quelle
quelle
initWithFrame
? Warum benutzt duaddSubview
?switch
kann nicht als Variablenname verwendet werden.Sie können die Zelle in Interfacebuilder vorbereiten, sie mit einem IBOutlet Ihres Viewcontrollers verknüpfen und zurückgeben, wenn die Tabellenansicht nach der richtigen Zeile fragt.
Stattdessen können Sie eine separate xib für die Zelle erstellen (erneut mit IB) und diese bei der Zellenerstellung mit UINib laden.
Schließlich können Sie den Switch programmgesteuert erstellen und zur Inhaltsansicht oder Zubehöransicht Ihrer Zellen hinzufügen.
Welches am besten zu Ihnen passt, hängt weitgehend davon ab, was Sie gerne tun. Wenn der Inhalt Ihrer Tabellenansichten festgelegt ist (für eine Einstellungsseite usw.), funktionieren die ersten beiden möglicherweise gut. Wenn der Inhalt dynamisch ist, würde ich die programmatische Lösung bevorzugen. Bitte geben Sie genauer an, was Sie tun möchten. Dies würde die Beantwortung Ihrer Frage erleichtern.
quelle
für schnelle Benutzer
quelle
Dies ist eine vollständigere Lösung, bei der das Ein- und Ausschalten auf der Ansichtsebene (UITableViewCell) erfolgt und die Ereignisse über
didSelect
und an den tableView-Delegaten weiterleitetdidDeselect
:Und auf Ihren Delegierten
quelle