Chcę uzyskać bieżący kontroler widoku w chwili obecnej w kontrolerze widoku strony. jak to zrobić. Czy ma jakiegoś delegata do połączenia lub co?Jak uzyskać bieżący kontroler widoku w kontrolerze widoku strony
Odpowiedz
jeśli jesteś w każdej klasie UIView (jako UIButton, sowne lub innej podklasy), który jest podrzędny w UIViewController.view (lub jakiegokolwiek subView.subView.subView ... z nim)
ci można sprawdzić, czy istnieje UIViewController w superVew (ów) łańcucha, i przestać kiedy znajdziesz UIViewController
coś takiego:
UIViewController* controllerFound = nil;
for (UIView* next = [self superview]; next; next = next.superview) {
UIResponder* nextResponder = [next nextResponder];
if ([nextResponder isKindOfClass:[UIViewController class]]) {
controllerFound = (UIViewController*)nextResponder;
}
}
Nie wiem tego, ponieważ nie użyłem tej metody. muszę się dowiedzieć w sterowniku widoku strony, czy możesz opublikować coś związanego z tym. –
prostu miałem ten sam problem. Wygląda na to, że bieżący kontroler jest ostatni na liście po zmianie strony. To działało dla mnie, ale nie wiem, czy to zawsze prawda.
- (void)pageViewController:(UIPageViewController *)pageViewController didFinishAnimating:(BOOL)finished previousViewControllers:(NSArray *)previousViewControllers transitionCompleted:(BOOL)completed
{
UIViewController *vc = [pageViewController.viewControllers lastObject];
}
Spróbuj dostać pierwszego kontrolera widoku w pageViewController.viewControllers
if let vc = pageViewController.viewControllers?[0] {
... vc is current controller...
}
Jeśli chcesz obsługiwać zmiany stron, zrób to w sposób Delegat:
func pageViewController(_ pageViewController: UIPageViewController, didFinishAnimating finished: Bool, previousViewControllers: [UIViewController], transitionCompleted completed: Bool) {
if let vc = pageViewController.viewControllers?[0] {
... vc is current controller...
}
}
- 1. Używanie kontrolera widoku z programu scenorycznie programowo w kontrolerze widoku strony
- 2. Wdrażanie widoku tabeli w kontrolerze paska kart?
- 3. Jak ustawić kontroler widoku root
- 4. Jak push viewcontroller (kontroler widoku)?
- 5. Dostałem się do innego kontrolera widoku, zanim pojawi się bieżący kontroler widoku.
- 6. Kontroler nawigacyjny w widoku modalnym
- 7. Znajdź kontroler ASP.NET MVC w widoku głównym
- 8. CodeIgniter: Kontroler obciążenia w kontrolerze
- 9. Ładowanie kontrolera widoku wewnątrz widoku w Xcode
- 10. odrzuć kontroler bieżącego widoku PO zaprezentowaniu nowego kontrolera widoku - swift
- 11. iPhone - Zastępowanie widoku root w kontrolerze nawigacyjnym
- 12. swift: pokaż kolejny kontroler widoku po przesunięciu w górę w pierwszym kontroler widoku
- 13. Jak uzyskać kontroler widoku głównego w kontrolce widoku szczegółowego za pomocą UISplitViewController?
- 14. Dziwne ostrzeżenie zwalniające kontroler widoku modalnego
- 15. Jak uzyskać bieżący kontroler i działanie z wewnątrz akcji Dziecko?
- 16. dismissModalViewControllerAnimated nie zwalnia kontroler widoku
- 17. Aktualny kontroler widoku z AppDelegate?
- 18. Jak wyłączyć skrypt widoku w kontrolerze - Zend Framework
- 19. Jak uzyskać centrum widoku
- 20. Kiedy ustawiono kontroler widoku nadrzędnego/prezentującego na sterowniku widoku modalnego?
- 21. Jak uzyskać aktualny adres URL strony w widoku?
- 22. W jaki sposób metoda informująca, który kontroler widoku go nazwał?
- 23. ios: jak odrzucić modalny kontroler widoku, a następnie pop pchnąłem kontroler widoku
- 24. MVP (rzutnik widoku modelu) lub MVC (kontroler widoku modelu)
- 25. Nie można uzyskać dostępu do danych widoku w częściowym widoku w ASP.NET MVC3
- 26. UIStoryBoard otrzymuje pierwszy kontroler widoku z ApplicationDelegate
- 27. MKMapView awarii aplikacji, gdy kontroler widoku pojawiło
- 28. Obróć kontroler widoku storyboardu w Xcode 5
- 29. Wciśnij inny kontroler widoku w widok UITabBarController.
- 30. Obecny kontroler widoku storyboard z delegata aplikacji?
Może ten może help http://stackoverflow.com/questions/8400870/uipageviewcontroller-return-turrent-visible-view – Mert