Szukaj…
Przegląd
Z dokumentacji Apple:
Obiekt UIStoryboardSegue odpowiada za wizualne przejście między dwoma kontrolerami widoku . Ponadto obiekty segue służą do przygotowania przejścia z jednego kontrolera widoku do drugiego. Obiekty segmentów zawierają informacje o kontrolerach widoku zaangażowanych w przejście . Po wyzwoleniu segmentu, ale zanim nastąpi przejście wizualne, środowisko wykonawcze scenorysu wywołuje metodę preparForSegue: sender: bieżącego kontrolera widoku, aby mógł przekazać wszelkie potrzebne dane do kontrolera widoku, który ma zostać wyświetlony.
Atrybuty
Szybki
sourceViewController: UIViewController {get}
destinationViewController: UIViewController {get}
identifier: String? {get}
Bibliografia:
Przygotowanie kontrolera widoku przed uruchomieniem Segue
PrepareForSegue :
func prepareForSegue(_ segue:UIStoryboardSegue, sender sender:AnyObject?)
Powiadamia kontroler widoku, że ma zostać wykonany segment
Parametry
segue : Obiekt segue.
nadawca : obiekt, który zainicjował segue.
Przykład w Swift
Wykonaj zadanie, jeśli identyfikator segue to „SomeSpecificIdentifier”
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if segue.identifier == "SomeSpecificIdentifier" {
//- Do specific task
}
}
Decydowanie, czy należy wykonać wywołaną Segue.
ShouldPerformSegueWithIdentifier :
func shouldPerformSegueWithIdentifier(_ identifier:String, sender sender:AnyObject?) -> Bool
Określa, czy należy wykonać segment z określonym identyfikatorem.
Parametry
Identyfikator : ciąg identyfikujący wyzwalany segment
Nadawca : obiekt, który zainicjował segue.
Przykład w Swift
Wykonuj segue tylko wtedy, gdy identyfikator to „SomeSpecificIdentifier”
override func shouldPerformSegueWithIdentifier(identifier:String, sender:AnyObject?) -> Bool {
if identifier == "SomeSpecificIdentifier" {
return true
}
return false
}
Używanie segmentów do nawigowania wstecz w stosie nawigacji
Odwijaj segmenty
Segmenty odwijania umożliwiają „odprężenie” stosu nawigacji i określenie miejsca docelowego, do którego należy wrócić. Podpis tej funkcji jest kluczem do rozpoznania jej przez Konstruktora interfejsów. Musi mieć wartość zwracaną IBAction i przyjąć jeden parametr UIStoryboardSegue . Nazwa funkcji nie ma znaczenia. W rzeczywistości funkcja nawet nie musi nic robić. Jest to po prostu znacznik, którego UIViewController jest miejscem docelowym Unwind Segue. [źródło] [1]
Wymagany podpis odejścia
Cel C:
-(IBAction)prepareForUnwind:(UIStoryboardSegue *)segue {
}
Szybki:
@IBAction func prepareForUnwind(segue: UIStoryboardSegue) {
}
Wywołaj programowo segment
PerformSegueWithIdentifier:
func performSegueWithIdentifier(_ identifier:String, sender sender:AnyObject?)
Inicjuje segment z określonym identyfikatorem z pliku scenariusza bieżącego kontrolera widoku
Parametry
Identyfikator : ciąg identyfikujący wyzwalany segment
Nadawca : obiekt, który zainicjuje segue.
Przykład w Swift
Wykonywanie segue z identyfikatorem „SomeSpecificIdentifier” na podstawie wyboru wiersza widoku tabeli:
func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
performSegueWithIdentifier("SomeSpecificIdentifier", sender: indexPath.item)
}