Programmieren Sie die Auswahl in UITableViewController in Swift programmatisch

8

Entschuldigung für die Frage ohne Codezeile. Ich brauche einen Rat, wie ich vorgehen soll, wenn es mir möglich ist.

In schneller Sprache.

Nehmen wir an, es gibt eine App mit zwei Controllern - UITableViewController mit eingebettetem NavigationController als Hauptkomponente. Wenn Sie eine Zeile in der Tabelle auswählen, wird UIViewController geöffnet, wodurch detaillierte Informationen zum ausgewählten Wert angezeigt werden.

Ist es möglich, etwas anderes zu tun? Wenn die Anwendung gestartet wird, emulieren Sie programmgesteuert die Auswahl der ersten Zeile in der Tabelle und zeigen sofort UIViewController mit detaillierten Informationen zum ausgewählten Wert an. Und von diesem Controller aus ist es möglich, über die UITableViewController zu NavigationController zurückzukehren.

Noch einmal entschuldige ich mich und danke Ihnen im Voraus!

    
Alexey Nakhimov 16.07.2014, 17:30
quelle

2 Antworten

36

Ja, Sie können dies in swift tun. Laden Sie einfach Ihre tableViewController wie gewohnt. Sie müssen nur

anrufen

Im schnellen

%Vor%

Die Funktion selectRowAtIndexPath löst keine Delegate-Methoden wie didSelectRowAtIndexPath: aus, daher müssen Sie diese Delegate-Methode manuell auslösen

%Vor%

Oder wenn Sie ViewControllers mit einem Segment drücken, müssen Sie performSegueWithIdentifier

auslösen %Vor%

Jetzt können Sie viewController in didSelectRowAtIndexpath schieben. Wählen Sie die erste Zeile im ersten Abschnitt oder führen Sie die Datei aus, die Sie in didSelectRowAtIndexpath: of tableView

geschrieben haben

As Für Ihren Fall drücken Sie einfach viewController bei Auswahl am 0. Index mit didSelectRowAtIndexPath

%Vor%

Es wird der View-Controller angezeigt und wenn Sie den View-Controller nicht animieren wollen, übergeben Sie einfach NO an pushViewController method.

Wenn Sie Back drücken, kehren Sie zu Ihrem viewController

zurück

Schreib in deinem Fall einfach in deine viewDidAppear

%Vor%     
codester 16.07.2014, 18:44
quelle
4

Sie können dies auch einfach tun, indem Sie auf den TableView-Delegaten zugreifen, um zu erzwingen, dass "didSelectRowAtIndex" ausgelöst wird (

)

// Wählen Sie programmatisch eine Zeile aus, die mit

arbeiten soll %Vor%

// Die programmatische Auswahl der Zeile löst nicht die Funktion "didSelectRowAtIndexPath" aus, so dass wir die Auslösung wie folgt erzwingen müssen:

%Vor%     
John Carto 09.09.2016 17:12
quelle

Tags und Links