我仍然是IOS开发的新手,我想通过MoralViewcontroller创建一个登录页面。
AppDelegate.h
@interface AppDelegate : UIResponder <UIApplicationDelegate>{
UITabBarController *tabBarController; }
@property (nonatomic,retain) IBOutlet UITabBarController * tabBarController
AppDelegate.m
(void)applicationDidFinishLaunching:(UIApplication *)application
{
// Override point for customization after app launch
[window addSubview:tabBarController. view];
[window makeKeyAndVisible];
LoginViewController *loginView=[[LoginViewController alloc]initWithNibName:@"LoginViewController" bundle:nil];
[tabBarController.view presentModelViewcontroller: loginView animated:YES];
}
然而,登录视图无法显示,我想我为tabBarController定义错误,但我不知道它有什么问题。有人可以告诉我吗?我在做IOS 5。
非常感谢..
答案 0 :(得分:4)
我将从tabBarController的rootView中提供一个loginView控制器。
-(void)viewDidLoad
{
//You can also do this inside a conditional statement, if needed
LoginViewController *loginView=[[LoginViewController alloc]initWithNibName:@"LoginViewController" bundle:nil];
[self.view presentModelViewcontroller:loginView animated:YES];
}
这是第二种方式
AppDelegate.h
@interface AppDelegate : UIResponder {
LoginViewController *loginView;
}
@property (nonatomic,retain) LoginViewController *loginView;
AppDelegate.m
-(void)applicationDidFinishLaunching:(UIApplication *)application
{
// Override point for customization after app launch
self.loginView=[[LoginViewController alloc]initWithNibName:@"LoginViewController" bundle:nil];
[window addSubview:loginView. view];
[window makeKeyAndVisible];
}
LoginViewController.m
成功登录后调用此方法。
-(IBAction)login:(id)sender
{
//init tabbar with subviews;
UITabBarController *tabBarController = [[UITabBarController alloc] initW....];
[self.view addSubview:tabBarController.view];
}
我更喜欢第一种方法,因为你将在AppDelegate中保留tabBarController。
答案 1 :(得分:0)
首先,您必须将Loginviewcontroller添加到窗口中。然后,您必须在单击登录按钮时将tabbarcontroller添加到LoginViewController。