/ / Swift View Controller nie odrzuci - swift, xcode, uiview

Swift View Controller nie zostanie odrzucony - swift, xcode, uiview

więc mam podstawową grę w Xcode. Zacząłem od podstawowego szablonu gry Xcode i zbudowałem swoją grę głównie w „GameScene.swift”. Kiedy skończyłem grę, chciałem dodać ekran startowy z przyciskiem odtwarzania, więc stworzyłem nowy kontroler UIViewController i dodałem przycisk. Kontroluję kliknięcie i przeciągam przycisk do GameViewController i utworzyłem Modal Segue. Potem chciałem, aby gra powróciła, gdy gracz umarł. Próbowałem różnych sposobów, aby zamknąć widok, ale żaden nie działał. Jestem nowy w szybkim i naprawdę potrzebuję pomocy . Daj mi znać, jaki kod / informacje są potrzebne do znalezienia rozwiązania. Próbowałem wszystkiego, co znalazłem w Internecie. Pomyślałem, że znalazłem sposób, aby to obejść, dodając przycisk i Segue do GameViewController do menu, ale po wielu naciśnięciach zablokował system i zwolnił do indeksowania, ponieważ żaden z nich nie został odrzucony. Mogę podać dowolny potrzebny kod.

Wewnątrz GameViewController.swift w klasie GameViewController Próbowałem utworzyć funkcję, która byłaby wywoływana po zakończeniu gry. Próbowałem jednocześnie wyskoczyć i odrzucić kontroler widoku. Funkcja została wywołana i wydrukowano wiersz do konsoli, ale widok pozostał. Jedyną rzeczą wypisywaną na konsoli jest „zero”

class GameViewController: UIViewController {
func end(){
print(navigationController?.viewControllers as Any)
self.navigationController?.popViewController(animated: true)
self.dismiss(animated: true, completion: nil)
}

@ Vollan heres pic

Oto zrzut ekranu scenorysu.

z góry dziękuję.

Odpowiedzi:

3 dla odpowiedzi № 1

Jeśli wypchnąłeś viewController, którego używasz self.navigationController?.popViewController(animated: true)

Jeśli przedstawiłeś to modalnie, używasz self.dismiss(self, animated: true)

Kiedy jest prezentowany z odcinka modalnego, którego używasz self.presentingViewController?.dismiss(animated: true, completion: nil)


0 dla odpowiedzi nr 2

Mam przejście modalne w scenorysie z jednego kontrolera widoku do drugiego. Następnie mam przycisk, który jest podłączony do IBAction, który właśnie działa dismiss(animated: true, completion: nil)

Sprawdź i powtórz połączenia z serii ujęć do kodu. Xcode czasami po prostu traci połączenie podczas wprowadzania wielu zmian w kodzie.