Mam numer TableViewController
i chciałbym wyzwolić segue na pasku nawigacyjnym. Stworzyłem scenę w serii ujęć do mojego nowego ViewController
. Jeśli jednak kliknę przycisk paska, widok się nie pojawi.ViewController nie wyświetla się mimo, że został uruchomiony procesor
Zamiast tego element przycisku paska staje się nieaktywny (szary), a aplikacja zawiesza się. Nie ma komunikatu o błędzie, a aplikacja również nie ulega awarii. Sposób w moim TableViewController
także prepareForSegue
pobiera nazywane
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
print("prepare for segue called")
print("destination view controller = \(segue.destinationViewController.description)")
}
Zrobiłem następujące rzeczy:
- stworzył zwyczaj widok klasę kontrolera na drugim ekranie (w moim ujęć i jako plik .swift). Przypisałem odpowiednie
ViewController
w scenorysie do mojego kontrolera widoku niestandardowego w Inspektorze tożsamości - utworzyłem
IBAction
dla zdarzenia kliknięcia przycisku i wywołałem programowo . Wynik pozostaje ten sam.prepareForSegue
to nazwa. WartośćdestionationViewController
jest poprawna, ale nie jest wyświetlana. Usunąłem tenIBAction
później.
Mój cel widok kontroler wygląda to
class EnterUserDataViewController : UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
print("EnterUserDataViewController viewDidLoad called")
}
}
viewDidLoad
nigdy nie jest wywoływana chociaż prawo segue został wyzwolony.
Czy ktoś może dać mi wskazówkę, dlaczego tak się dzieje?
Czy Twoje zrzuty ekranu pasują do rzeczywistego kodu? Mówisz, że ręcznie uruchamiasz segue przy użyciu gniazda akcji, ale na twoich ekranach widać, że przycisk paska kart bezpośrednio uruchamia segue. – tebs1200
Nie Myślałem, że mogłem zrobić coś złego. Potem spróbowałem programowo uruchomić segue. Stworzyłem więc IBAction i nazwałem performSegueWithIdentifier. Jednak to nie pomogło. Usunąłem tę IBAction i użyłem normalnej "przeciągnij i upuść". Aby odpowiedzieć na twoje pytanie: Tak. – slashburn
Wszelkie aktualizacje dotyczące tego problemu? Czy byłeś w stanie go rozwiązać? @slashburn –