Измените представленное представление UIWindow из метода UIViewController - PullRequest
0 голосов
/ 26 апреля 2011

У меня есть простое приложение с двумя подклассами UIViewController.

Я хочу изменить представление, отображаемое UIWindow моего приложения, вызывая метод из одного из моих подклассов UIViewController.

По существуЯ просто бездельничаю и пытаюсь создать простое тестовое приложение с экраном входа в систему, чтобы после ввода учетных данных пользователя отображался основной вид.Я не слишком знаком с механизмами окна и просмотра в программировании на iOS, и сейчас я читаю http://developer.apple.com/library/ios/#documentation/WindowsViews/Conceptual/ViewPG_iPhoneOS/WindowsandViews/WindowsandViews.html#//apple_ref/doc/uid/TP40009503-CH2-SW1 и пытаюсь немного узнать об этом.

1 Ответ

1 голос
/ 26 апреля 2011

Если это для целей экрана входа в систему, вы должны добавить контроллер основного вида непосредственно в окно и добавить контроллер представления входа в систему в качестве модального представления внутри контроллера основного представления.

Внутри приложенияDidFinishLaunching ...

MainViewController *mainViewController = [[MainView....... // instantiate UINavigationController *navController = [[UINavigationController alloc]initWithRootViewController:mainViewController];
[mainViewController release]; 
[window addSubview:navController.view];

Внутри MainViewController

-(void)viewWillAppear:(BOOL)animated
{
    LoginViewController *loginVC = .... //instantiate
    [self.navigationController presentModalViewController:loginVC  animated:NO];
    [loginVC release];
}

, если вход выполнен успешно,

[self dismissModalViewControllerAnimated:YES];
...