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)
}
z góry dziękuję.
Odpowiedzi:
3 dla odpowiedzi № 1Jeś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.