Sök…
En översikt
Från Apple-dokumentationen:
Ett UIStoryboardSegue-objekt ansvarar för att utföra den visuella övergången mellan två visningskontroller . Dessutom används segmentobjekt för att förbereda för övergången från en visningsstyrenhet till en annan. Segue-objekt innehåller information om visningskontrollanter som är involverade i en övergång . När en segue utlöses, men innan den visuella övergången inträffar, kallas storyboard-körtiden för den aktuella visningskontrollerns förberedelseForSegue: avsändare: metod så att den kan överföra alla nödvändiga data till visningskontrollern som håller på att visas.
attribut
Snabb
sourceViewController: UIViewController {get}
destinationViewController: UIViewController {get}
identifier: String? {get}
referenser:
Förbereda visningskontrollern innan en segue startas
PrepareForSegue :
func prepareForSegue(_ segue:UIStoryboardSegue, sender sender:AnyObject?)
Meddelar visningskontrollern att ett segment håller på att utföras
parametrar
segue : Segue-objektet.
avsändare : Objektet som initierade segmentet.
Exempel i Swift
Utför en uppgift om identifieraren för segmentet är "SomeSpecificIdentifier"
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if segue.identifier == "SomeSpecificIdentifier" {
//- Do specific task
}
}
Bestämmer om ett åberopat Segue ska utföras.
ShouldPerformSegueWithIdentifier :
func shouldPerformSegueWithIdentifier(_ identifier:String, sender sender:AnyObject?) -> Bool
Bestämmer om segmentet med den angivna identifieraren ska utföras.
parametrar
Identifierare : Sträng som identifierar det utlösta segmentet
Avsändare : Objektet som initialiserade segmentet.
Exempel i Swift
Utför endast segue om identifieraren är "SomeSpecificIdentifier"
override func shouldPerformSegueWithIdentifier(identifier:String, sender:AnyObject?) -> Bool {
if identifier == "SomeSpecificIdentifier" {
return true
}
return false
}
Använd Segues för att navigera bakåt i navigationsstacken
Koppla av segrar
Avlindningssegment ger dig ett sätt att "varva ner" navigationsstacken och ange en destination du vill gå tillbaka till. Signaturen för denna funktion är nyckeln till att Interface Builder känner igen den. Det måste ha ett returvärde för IBAction och ta en parameter av UIStoryboardSegue . Namnet på funktionen spelar ingen roll. Faktum är att funktionen inte ens behöver göra någonting. Det är bara där som en markör för vilken UIViewController är destinationen för Unwind Segue. [Källa] [1]
Krävs underskrift av ett avkopplingssegment
Mål C:
-(IBAction)prepareForUnwind:(UIStoryboardSegue *)segue {
}
Snabb:
@IBAction func prepareForUnwind(segue: UIStoryboardSegue) {
}
Trigger Segue programmatiskt
PerformSegueWithIdentifier:
func performSegueWithIdentifier(_ identifier:String, sender sender:AnyObject?)
Initierar segmentet med den angivna identifieraren från den aktuella visningskontrollerns storyboard-fil
parametrar
Identifierare : Sträng som identifierar det utlösta segmentet
Avsändare : Objektet som kommer att initiera segmentet.
Exempel i Swift
Utför ett segment med identifieraren "SomeSpecificIdentifier" från en radval i tabellvy:
func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
performSegueWithIdentifier("SomeSpecificIdentifier", sender: indexPath.item)
}