2012-12-12 47 views
-1

我是新来obj-C编程。我很感兴趣如何制作这样的应用程序:我运行它,然后用按钮显示视图控制器。我点击这个按钮,它显示标签栏控制器。我应该将第一个屏幕显示为模式视图还是有其他变体?你能一步一步解释这个过程吗?tabbarcontroller之前的第一个屏幕

感谢

+0

http://stackoverflow.com/questions/13551824/splashscreen-要检查更新,上顶级的tabbarcontroler/13552108#13552108 – aahsanali

回答

0

我会做到这一点的方法是有一个UINavigationController。然后,这是你的第一个看法的RootViewController

然后从“第一视图”可以推TabBarController

如果您不需要,您可以隐藏导航栏,但使用NavigationController只是使它更容易在视图之间移动。

0

您可以使用委托实现该功能。创建LoginViewControler并在其中定义协议。在AppDelegate.m文件中实现该委托方法。以下是Sude代码,以实现您的愿望功能。

// AppDelegate.h

@interface AppDelegate : UIResponder <UIApplicationDelegate,LoginViewControllerDelegate>{ 

LoginViewController *loginViewController; 

}

// AppDelgate.m

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{ 

self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; 
loginViewController = [[LoginViewController alloc]initWithNibName:@"LoginViewController" bundle:nil]; 
loginViewController.delegate = self; 
self.window.rootViewController = loginViewController; 

[self.window makeKeyAndVisible]; 

return YES; 

}

-(void)loginButtonPressed { 
[self.window setRootViewController:nil]; 

self.window.rootViewController = self.viewController;

}

//LoginViewController.h

@protocol LoginViewControllerDelegate <NSObject> 

@Required - (无效)loginButtonPressed;

@end

@interface LoginViewController:的UIViewController { ID代表;

}

@property (retain) id delegate; 

- (IBAction)loginButtonPressed:(UIButton *)sender; 

@end

//LoginViewController.m

- (IBAction)loginButtonPressed:(UIButton *)sender { 
      [_delegate loginButtonPressed]; 

}

相关问题