在IOS中添加TabBar前面的登录屏幕

时间:2011-04-12 03:54:21

标签: iphone objective-c ios

我有一个包含标签栏视图的应用程序,我在同一个应用程序中有一个登录xib(login.xib)及其对应的类文件(LoginController)。我希望当我的应用程序启动时,应首先加载登录文件,然后一旦我点击登录按钮,我的TabBar视图应该启动。

尝试了很多方法,但没有任何效果。 :(

最新的一个是我尝试在应用程序didFinishLaunchingWithOptions结束时将以下代码放在AppDelegate文件中但面临错误:

loginController = [[LoginController alloc] init];
[window addSubview:tabcontroller.view];
[window addSubview:loginController.view];
[window makeKeyAndVisible];
return YES;

错误是“loginController”未声明。

我错过了什么。如果有其他方法可以满足我的要求,请告诉我。

此外,在登录中的clickButton()上,我正在使用事件Touch Up Inside。

3 个答案:

答案 0 :(得分:4)

loginController = [[LoginController alloc] initWithNibName:@"login" bundle:nil];
[window addSubview:loginController.view];
[window makeKeyAndVisible];

完成登录检查后添加以下行。

[window addSubview:tabcontroller.view];

另外,请检查loginCont的使用位置?

谢谢,

答案 1 :(得分:2)

试试使用:

- (void)applicationDidFinishLaunching:(UIApplication *)application 
{

     UIView *indicatorView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 480)];
     UIImageView *splashV=[[UIImageView alloc]initWithFrame:CGRectMake(0, 20, 320, 460)];
     [splashV setImage:[UIImage imageNamed:@"Default.png"]];    
     [indicatorView setBackgroundColor:[UIColor clearColor]];

     [indicatorView addSubview:splashV];
     [self.window addSubview:indicatorView];

     //Take button check credentials on successful login call  StopViewOnsuccessfullogin

}

-(void)StopViewOnsuccessfullogin
{
    [indicatorView removeFromSuperview];
    [splashV release];
        [window addSubview:tabcontroller.view];
        [window makeKeyAndVisible];

}

希望能奏效.....

答案 2 :(得分:1)

一种方法是将Interface Builder中AppDelegate的视图控制器属性更改为新的View Controller的XIB文件。

移动标签栏&将视图控制器关联到另一个nib中,并且只在登录屏幕完成后加载。