我有一个应用程序,其中有activationView
。应用程序激活后,我需要在选项卡中显示其余视图。我用google搜索并发现要在iPhone中使用Tabs,应用程序必须是Tab Bar Application
我的应用程序不符合我的要求。实现标签的最佳方式是什么(在应用程序的第二个视图中)?
编辑1
我试过的代码
/* tabsController = [[Tabs alloc] init];
[self.window setRootViewController:tabsController];*/
AppDelegate *appDelegate = (AppDelegate *)[[UIApplication sharedApplication]delegate]; appDelegate.window.rootViewController = tabsController;
我尝试过这些方法,但我得到了一个纯白色的视图。
答案 0 :(得分:2)
当您从第一个视图移动到标签栏视图时,请尝试下面的代码。
AppDelegate * appDelegate =(AppDelegate *)[[UIApplication sharedApplication]委托]; appDelegate.window.rootViewController = yourTabbarController;
答案 1 :(得分:1)
我认为你可能在一个项目中寻找多个VC。因此,在appDelegate中为loginVC和其他VC(对于tabbar)声明并初始化VC,并在登录成功后调用以下函数。
启动时将LoginVC设为RootViewController
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{// declare LoginVC and make it rootViewController
self.window.rootViewController = self._loginVCObj;
[self.window makeKeyAndVisible];
}
#pragma mark- Continue to next screen after successful Login
-(void) continueToNextView
{ // Handle UI after Login like.
[_loginVCObj._indicator stopAnimating];
[_loginVCObj._loginButton setEnabled:YES];
//add the VC to the tabbar
self._tabBarController.viewControllers = [NSArray arrayWithObjects:self.navigationControllerList,_favItemListNavObj, _toDoHereVC, _settingNavObj, nil];
// make tabbar as rootViewController
self.window.rootViewController = self._tabBarController;
}
答案 2 :(得分:1)
我认为您的代码在“基于窗口的应用程序”中工作,但是使用新的SDK,您无法新建这样的项目。
如果您想使用您的代码,这将有助于您: Cannot find window-based application on XCode
如果您使用故事板,那么构建这样的应用程序非常容易。