开发者

Change UIWindow's presented view from UIViewController method

I have a simple application with two subclasses of UIViewController.

I want to change the view being displayed by my application's UIWindow by calling a method from one of my UIViewController subclasses.

Essentially I'm just messing around and I'm trying to construct a simple test application with a login screen, that after a user enters credentials a main view is presented. I'm not too familiar with the window and view mechanisms of iOS programming, and I'm currently reading http://developer.apple.com/library/ios/#documentation/WindowsViews/Conceptual/ViewPG_iPhoneOS/WindowsandViews/WindowsandViews.html#//apple_ref/doc/uid/T开发者_如何学GoP40009503-CH2-SW1 and attempting to learn a bit about it.


If this is for the purpose of a login screen, you should add the main view controller to window directly, and add the login view controller as a modal view inside the main view controller.

Inside applicationDidFinishLaunching...

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

Inside MainViewController

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

if login successful,

[self dismissModalViewControllerAnimated:YES];
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜