У меня есть следующая структура в моем приложении iOS для iPad:
- RootViewController: Login
- @property UITabbar *main (which is loaded after login with success);
На appDelegate
у меня есть два свойства: окно и логин. На первом я загружаю UIWindow
, а на другом LoginViewController (UIViewController)
. И установите Логин как RootViewController.
При входе в систему у меня есть свойство с именем «main», типизированное как MainController
(расширяется UITabbarController
).
После успешного входа в систему я использую приведенный выше код для загрузки основного:
[_main setModalTransitionStyle:UIModalTransitionStyleCrossDissolve];
[self presentViewController:_main animated:YES completion:nil];
MainController был загружен в методе viewDidLoad. У меня два момента:
Мне нужно установить себя в качестве делегата MainController?
Это начало моего метода mainController viewDidLoad:
[super viewDidLoad];
[self setDelegate:self];
NSLog(@"Parent view controller is: %@", [self parentViewController]);
NSLog(@"Presented view controller is: %@", [self presentedViewController]);
NSLog(@"Presenting view controller is: %@", [self presentingViewController]);
Журнал этого:
2013-01-20 21:23:53.180 MyApp[6304:11303] Parent view controller is: (null)
2013-01-20 21:23:53.181 MyApp[6304:11303] Presented view controller is: (null)
2013-01-20 21:23:53.182 MyApp[6304:11303] Presenting view controller is: (null)
Я использую правильный способ представления viewController? Или показать представление после того, как я нажму кнопку или войду в систему? Чего не хватает? Правильно ли я использую иерархию представлений?
Существует ли потребность в свойстве, содержащем контроллер, который будет представлен?
Я ценю с тех пор!