Zoeken…
Een overzicht
Uit de Apple-documentatie:
Een UIStoryboardSegue-object is verantwoordelijk voor het uitvoeren van de visuele overgang tussen twee viewcontrollers. Daarnaast worden segue-objecten gebruikt om de overgang van de ene viewcontroller naar de andere voor te bereiden. Segue-objecten bevatten informatie over de viewcontrollers die bij een overgang betrokken zijn . Wanneer een segue wordt geactiveerd, maar voordat de visuele overgang plaatsvindt, roept de storyboard-runtime de huidige methode van de viewcontroller op voorForSegue: sender: methode zodat deze alle benodigde gegevens kan doorgeven aan de viewcontroller die binnenkort wordt weergegeven.
attributen
Snel
sourceViewController: UIViewController {get}
destinationViewController: UIViewController {get}
identifier: String? {get}
Referenties:
Uw view-controller voorbereiden voordat een segment wordt geactiveerd
PrepareForSegue :
func prepareForSegue(_ segue:UIStoryboardSegue, sender sender:AnyObject?)
Waarschuwt de weergavecontroller dat een segment wordt uitgevoerd
parameters
segue : het segue-object.
afzender : het object dat het segment heeft geïnitialiseerd.
Voorbeeld in Swift
Voer een taak uit als de identifier van het segment "SomeSpecificIdentifier" is
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if segue.identifier == "SomeSpecificIdentifier" {
//- Do specific task
}
}
Beslissen of een aangeroepen segment moet worden uitgevoerd.
ShouldPerformSegueWithIdentifier :
func shouldPerformSegueWithIdentifier(_ identifier:String, sender sender:AnyObject?) -> Bool
Bepaalt of het segment met de opgegeven identificatie moet worden uitgevoerd.
parameters
Identifier : String die het getriggerde segment identificeert
Afzender : het object dat het segment heeft geïnitialiseerd.
Voorbeeld in Swift
Voer segue alleen uit als de identifier "SomeSpecificIdentifier" is
override func shouldPerformSegueWithIdentifier(identifier:String, sender:AnyObject?) -> Bool {
if identifier == "SomeSpecificIdentifier" {
return true
}
return false
}
Segmenten gebruiken om achteruit te navigeren in de navigatiestapel
Ontspan segmenten
Afwikkelsegmenten geven u een manier om de navigatiestapel "af te ronden" en een bestemming op te geven om naar terug te gaan. De handtekening van deze functie is de sleutel tot het herkennen van Interface Builder. Het moet een retourwaarde van IBAction hebben en een parameter van UIStoryboardSegue gebruiken . De naam van de functie doet er niet toe. De functie hoeft zelfs niets te doen. Het is er gewoon als markering waarvan UIViewController de bestemming van het afwikkelsegment is. [Source] [1]
Vereiste handtekening van een afrolsegment
Doelstelling C:
-(IBAction)prepareForUnwind:(UIStoryboardSegue *)segue {
}
Snel:
@IBAction func prepareForUnwind(segue: UIStoryboardSegue) {
}
Segment programmatisch activeren
PerformSegueWithIdentifier:
func performSegueWithIdentifier(_ identifier:String, sender sender:AnyObject?)
Hiermee wordt het segment gestart met de opgegeven ID uit het storyboardbestand van de huidige viewcontroller
parameters
Identifier : String die het getriggerde segment identificeert
Afzender : het object dat het segment start.
Voorbeeld in Swift
Een segue uitvoeren met ID "SomeSpecificIdentifier" uit een rij in een tabelweergave:
func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
performSegueWithIdentifier("SomeSpecificIdentifier", sender: indexPath.item)
}