Klasa UIViewController zarządza widokami w aplikacjach systemu iOS i pośredniczy w interakcji między widokami aplikacji, jej bazowymi obiektami modelu i ogólnym przepływem pracy.
Zawsze byłem nieco niejasny od rodzaju zadań, które powinny być przypisane do viewDidLoadwersetach viewWillAppear: w UIViewControllerpodklasie. np. robię aplikację, w której UIViewControllerpodklasa trafia na serwer, pobieram dane, przesyłam je do widoku, a następnie wyświetlam ten widok. Jakie są wady i zalety robienia tego w viewDidLoadvs. viewWillAppear?
Postanowiłem kontynuować mój pozostały projekt w Swift. Kiedy dodam niestandardową klasę (podklasę UIViewcontroller) do mojego kontrolera widoku scenorysu i załaduję projekt, aplikacja nagle ulega awarii z następującym błędem: błąd krytyczny: użycie niezaimplementowanego inicjatora „init (koder :)” dla klasy To jest kod: import UIKit class TestViewController: UIViewController { init(nibName nibNameOrNil: String?, …
Mam UIViewControllerwidok jako widok podrzędny / modalny na wierzchu innego UIViewControllerwidoku, na przykład widok podrzędny / widok modalny powinien być przezroczysty i wszystkie komponenty dodane do widoku podrzędnego powinny być widoczne. Problem polega na tym, że u mnie podwidok pokazuje czarne tło zamiast mieć clearColor. Staram się, aby UIViewtło było …
NavigationControllers mają stosy ViewController do zarządzania i ograniczone przejścia animacji. Dodanie kontrolera widoku jako widoku podrzędnego do istniejącego kontrolera widoku wymaga przekazywania zdarzeń do kontrolera widoku podrzędnego, co jest trudne w zarządzaniu, obarczone niewielkimi irytacjami i generalnie wydaje się być złym hackiem podczas implementacji (Apple odradza również robiąc to). Przedstawienie …
iOS 13 wprowadza nowy projekt modalPresentationStyle .pageSheet(i jego odpowiednika .formSheet) dla kontrolerów widoku prezentowanych modalnie… … I możemy odrzucić te arkusze, przesuwając kontroler prezentowanego widoku w dół (interaktywne zamknięcie ) . Chociaż nowa funkcja „ściągnij, aby odrzucić” jest całkiem przydatna, nie zawsze może być pożądana. PYTANIE: Jak możemy wyłączyć interaktywne …
Staram się znaleźć dobre rozwiązanie tego problemu. W -viewWillDisappear:metodzie kontrolera widoku muszę znaleźć sposób na ustalenie, czy dzieje się tak, ponieważ kontroler widoku jest wypychany na stos kontrolera nawigacji, czy też dlatego, że kontroler widoku znika, ponieważ został wyskakujący. W tej chwili ustawiam flagi takie jak isShowingChildViewControllerale robi się to …
Prąd UIViewControllerna ekranie musi odpowiadać na powiadomienia push z APN, ustawiając niektóre widoki znaczków. Ale jak mogę uzyskać UIViewControllermetodę in application:didReceiveRemoteNotification: of AppDelegate.m? Próbowałem użyć, self.window.rootViewControlleraby uzyskać bieżące wyświetlanie UIViewController, może to być UINavigationViewControllerkontroler widoku lub inny rodzaj. I dowiaduję się, że visibleViewControllerwłaściwość UINavigationViewControllermożna wykorzystać, aby uzyskać UIViewControllerobraz na ekranie. …
Jak w kodzie kontrolera widoku mogę rozróżnić: prezentowane modalnie na stosie nawigacyjnym Obie presentingViewControlleri isMovingToParentViewControllersą YESw obu przypadkach, więc nie są zbyt pomocne. To, co komplikuje sprawę, to fakt, że mój nadrzędny kontroler widoku jest czasami modalny, na który wpychany jest kontroler widoku do sprawdzenia. Okazuje się, że moim problemem …
W moim przypadku rodzic UIViewControllerzawiera UIPageViewControllerktóry zawiera UINavigationControllerktóry zawieraUIViewController . Muszę dodać gest przesunięcia do ostatniego kontrolera widoku, ale przesunięcia są obsługiwane tak, jakby należały do kontrolera widoku strony. Próbowałem to zrobić zarówno programowo, jak i przez xib, ale bez rezultatu. Więc jak rozumiem, nie mogę osiągnąć celu, dopóki nie …
rozważ następujący scenariusz: Mam aplikację opartą na scenorysach. Dodaję obiekt ViewController do scenorysu, dodaję pliki klas dla tego ViewController do projektu i określam nazwę nowej klasy w inspektorze tożsamości IB. Jak mam zamiar programowo odwoływać się do tego ViewController z AppDelegate? Utworzyłem zmienną z odpowiednią klasą i przekształciłem ją we …
Przed iOS 13 prezentowane kontrolery widoku służyły do pokrycia całego ekranu. Po odrzuceniu viewDidAppearfunkcja kontrolera widoku nadrzędnego została wykonana. Teraz iOS 13 będzie domyślnie przedstawiał kontrolery widoku jako arkusz, co oznacza, że karta częściowo zakryje podstawowy kontroler widoku, co oznacza, że viewDidAppearnie zostanie wywołany, ponieważ nadrzędny kontroler widoku nigdy tak …
Powiedzmy, że mam scenorys, który zawiera UINavigationControllerjako początkowy kontroler widoku. Jego główny kontroler widoku jest podklasą UITableViewController, czyli BasicViewController. Ma to, IBActionco jest połączone z prawym przyciskiem nawigacyjnym paska nawigacji. Stamtąd chciałbym użyć storyboardu jako szablonu dla innych widoków bez konieczności tworzenia dodatkowych scenorysów. Powiedzmy, że te widoki będą miały …
Mam teoretyczne pytanie. Teraz czytam przewodnik Apple ViewController . Oni napisali: Kiedy przychodzi czas na odrzucenie kontrolera widoku prezentowanego, preferowanym podejściem jest pozwolenie kontrolerowi widoku prezentacji na odrzucenie go. Innymi słowy, gdy tylko jest to możliwe, ten sam kontroler widoku, który przedstawił kontrolera widoku, powinien również wziąć odpowiedzialność za jego …
Podczas odrzucania modalnego kontrolera widoku za pomocą dismissViewController, istnieje opcja zapewnienia bloku uzupełniania. Czy istnieje podobny odpowiednik popViewController? Argument ukończenia jest całkiem przydatny. Na przykład mogę go użyć do wstrzymania usuwania wiersza z widoku tabeli, dopóki modal nie zniknie z ekranu, pozwalając użytkownikowi zobaczyć animację wiersza. Wracając z wypychanego kontrolera …
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.