2016-07-11 9 views
1

Ich versuche, ähnliche Steuerelemente wie die unter der Datumszeitauswahl in der Alarm-App zu erstellen. Es scheint, dass diese Steuerelemente Tabellenansichtszellen sind. Ich möchte mehrere Tabellenansichtszellen haben, aber wenn ein Benutzer darauf klickt, wird das Segment der Zelle sie zum View-Controller der angeklickten Zelle führen.iOS: Gibt es eine Möglichkeit, bedingte Übergänge zu verwenden, abhängig davon, auf welche Tabellenansichtszelle geklickt wurde

Mit anderen Worten, wenn der Benutzer auf die Zelle "Repeat" der Alarm-App klickt, wird der Benutzer zum View-Controller "Repeat" weitergeleitet.

Wenn der Benutzer auf "Label" klickt, wird der Benutzer vom Benutzer zum "Label" View Controller weitergeleitet.

Also, ist es möglich, diese Art von bedingten Übergang zu haben?

Alle Proben/Links in Swift würden geschätzt werden. Danke im Voraus.

+0

Meinen Sie damit segue statt seque und Fortsetzung – Jeet

Antwort

3

in Ihrer didSelectItemAtIndexPath Aufruf verschiedene segue Kennung

if indexPath.row == 0 { 
    performSegueWithIdentifier("showPage1", sender: indexPath.row) 
} 
else if indexPath.row == 1 { 
    performSegueWithIdentifier("showPage2", sender: indexPath.row) 
} 

Dann in Ihrem prepareForSegue, um den Zustand überprüfen.

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) { 
    if segue.identifier == "showPage1" { 
     // do something for page 1 
    } 
    else if segue.identifier == "showPage2" { 
     // do something for page 2 
    } 
} 

Ihr segue von Bild unten an Ziel-Controller ziehen sollte enter image description here

+0

ich meine segue erstellt von Steuer gedrückt, und auf meinem Tisch Ansicht Zelle klicken (Prototyp Zelle) und ziehen zum Zielansicht-Controller. Außerdem mache ich per Empfehlung in didSelectRowAtIndexPath auch performSegueWithIdentifier ("showPage1", sender: indexPath.row). Das Problem ist, dass PrepareForSegue zweimal getroffen wird. Das erste Mal aus dem Segue, das im Storyboard erstellt wurde, wobei der Absender eine UITableViewCell ist. Das zweite Mal stammt vom Befehl performSegue in didSelectRowAtIndexPath, wobei der Absender ein Int ist. Mache ich etwas falsch? – Pavel

+0

Mit anderen Worten, wie aktiviere ich das segue nur von innerhalb didSelectRowAtIndexPath. Wie verhindere ich, dass es mit den Standardeinstellungen ausgelöst wird, wenn ich es mit der Funktion "Steuerung ziehen" im Storyboard erstellt habe? – Pavel

+0

Entfernen Sie den Mauszeiger von der Zelle zum Ziel-Viewcontroller. Fügen Sie jetzt vom gelben Kreis zum Zielcontroller hinzu. aktualisiert meine Antwort @Pavel – xmhafiz

Verwandte Themen