2010-12-04 49 views
0

我正在创建一个应用程序,用户需要先登录并且只有在该应用程序之后才能查看应用程序中的任何内容。为此,我创建了一个名为'AuthView'的新XIB文件。在TabBar应用程序模板中启动应用程序之后加载不同的XIB文件

我知道我需要将代码放在'applicationDidfinishLaunching'方法中,但我不知道需要将哪些代码放在里面。

我正在使用'标签栏应用程序'模板开发应用程序。

任何帮助将不胜感激。 :)

回答

1

默认情况下,ApplicationDidFinishLaunchingWithOptions方法结束看起来是这样的:

[window addSubview:tabcontroller.view]; 
[window makeKeyAndVisible]; 
return YES; 

添加首先出现在所有内容上的viewController很容易。首先,添加的viewController到您的实现(使用控制器的真名,明明):

#import "InitialScreenViewController.h" 

然后修改ApplicationDidFinishLaunchingWithOptions方法的最后加入两行,如下所示:

[window addSubview:tabcontroller.view]; 
initialScreenViewController = [[InitialScreenViewController alloc] init]; 
[window addSubview:initialScreenViewController.view]; 
[window makeKeyAndVisible]; 
return YES; 

一旦你已经验证了登录(或者你想用初始屏幕做的任何事情),只需在初始屏幕viewController中像这样解除它:

[self.parentViewController.view setHidden:YES]; 

如果需要,您可以稍后再显示它,例如添加注销和重新登录功能。

+0

你好,我试过这种方法,但应用程序启动为空白。 :( – 2010-12-05 10:04:11

0

更好U第表明乌尔身份验证视图...另一种观点认为地方乌尔的TabBar控制器..

0

当你正在使用的标签栏应用程序模板,你UIApplicationDelegate文件应该有 名为伊娃的UITabBarController tabBarController。

您需要删除此ivar(并将其从mainWindow XIB文件中删除)。

一旦做到这一点,回去的applicationDidFinishLaunching方法和Windows这样添加authentificate观点:

MyAuthentificateViewController * viewController = [[[MyAuthentificateViewController alloc]initWithNibName:@"XIBFilename" bundle:nil] autorelease]; 
[windows addSubview:myAuthentificateViewController.view]]; 
相关问题