我是新来obj-C编程。我很感兴趣如何制作这样的应用程序:我运行它,然后用按钮显示视图控制器。我点击这个按钮,它显示标签栏控制器。我应该将第一个屏幕显示为模式视图还是有其他变体?你能一步一步解释这个过程吗?tabbarcontroller之前的第一个屏幕
感谢
我是新来obj-C编程。我很感兴趣如何制作这样的应用程序:我运行它,然后用按钮显示视图控制器。我点击这个按钮,它显示标签栏控制器。我应该将第一个屏幕显示为模式视图还是有其他变体?你能一步一步解释这个过程吗?tabbarcontroller之前的第一个屏幕
感谢
我会做到这一点的方法是有一个UINavigationController
。然后,这是你的第一个看法的RootViewController
。
然后从“第一视图”可以推TabBarController
。
如果您不需要,您可以隐藏导航栏,但使用NavigationController只是使它更容易在视图之间移动。
您可以使用委托实现该功能。创建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];
}
http://stackoverflow.com/questions/13551824/splashscreen-要检查更新,上顶级的tabbarcontroler/13552108#13552108 – aahsanali