从登录屏幕到`UITabBarController`

时间:2013-02-14 10:07:23

标签: objective-c uitabbarcontroller

我有一个登录屏幕,用于检查插入的密码是否正确。

之后我想从登录屏幕切换到UITabBarController

来自LoginViewController.m的代码:

-(IBAction)LoginButton:(id)sender {

    [PassWortEingabe resignFirstResponder];
    NSString *pnssPasswortEingabe = [NSString stringWithFormat:@"%@",PassWortEingabe.text];
    NSString *pnssPasswortString  = [NSString stringWithFormat:@"%s","Hallo"];

    if( [pnssPasswortEingabe isEqualToString: pnssPasswortString ]){

        DebugTextView.text = @"Login succesfull";
        //PassWortEingabe = 0;
        //[PassWortEingabe resignFirstResponder];
    }else{

        DebugTextView.text = @"Login unsuccesfull";
        //PassWortEingabe = 0;
       //[PassWortEingabe resignFirstResponder];
    }


}

我想在登录成功时跳转到UITabBarController ...

2 个答案:

答案 0 :(得分:0)

if( [pnssPasswortEingabe isEqualToString: pnssPasswortString ]){

    DebugTextView.text = @"Login succesfull";
    MyTabBarClass *myTabBar = [[MyTabBarClass alloc]initWithNibName:nil bundle:nil];
    myTabBar.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
    [self presentModalViewController:myTabBar animated:YES];
    //PassWortEingabe = 0;
    //[PassWortEingabe resignFirstResponder];
}else{

    DebugTextView.text = @"Login unsuccesfull";
    //PassWortEingabe = 0;
    //[PassWortEingabe resignFirstResponder];
}

答案 1 :(得分:0)

它就像下面的代码一样简单。

if( [pnssPasswortEingabe isEqualToString: pnssPasswortString ]){
   // This is for iOS 5.0 and above.
    UITabBarController *myTabBarController = [self.storyboard instantiateViewControllerWithIdentifier:@"myTabBarController"];
    [myTabBarController setModalTransitionStyle:UIModalTransitionStyleFlipHorizontal];
    [self presentViewController:myTabBarController animated:YES completion:^(void){
        // You can set some sort of completion block here which will run when all other code finishes, this can just be nil.
     }];
} else {
    DebugTextView.text = @"Login unsuccesfull";
}

您也可以用

替换此行
[self presentViewController:myTabBarController animated:YES completion:nil];

替换为

[self presentModalViewController:myTabBarController animated:YES];

但在iOS 6.0中已弃用此功能。因此,如果您正在为iOS 5.0及更高版本制作应用程序,则最好使用第一行,这样您就不必在将来进行更改。

如果您想使用nib文件然后更改

,则使用上述代码来使用故事板
[self.storyboard instantiateViewControllerWithIdentifier:@"myTabBarController"];

[[UITabBarController alloc] initWithNibName:@"myTabBarController" bundle:[NSBundle mainBundle]];

希望这有帮助。