我有一个应用程序,在该应用程序中,如果用户第一次运行应用程序,我需要显示欢迎屏幕,然后仅显示应用程序的第一次设置信息。我认为把它放在appdelegate(didFinishLaunchingWithOptions)中的最佳位置,如果错误可能需要更正。在app委托中,我称之为:
-(void) checkSetupOccured
{
NSString *filePath = [self dataFilePath];
if (![[NSFileManager defaultManager] fileExistsAtPath:filePath])
{
//File doesn't exist, first time ran or installed
UITabBarController *MyTabViewController = (UITabBarController *)self.window.rootViewController;
[MyTabViewController setSelectedIndex:3];
WelcomeHomeViewController *welcomeHomeViewController = [[MyTabViewController viewControllers] objectAtIndex:3];
[welcomeHomeViewController viewDidLoad];
//Need help here I think - Anyway to hide MyTabViewController when its presented?
}
}
我经历了很多线程,而且不断涌现的事情是:
//[MyTabViewController presentModalViewController:WelcomeHomeViewController animated:YES];
//self.navigationController.navigationBarHidden = YES;
//[self setHidesBottomBarWhenPushed:YES];
我尝试了许多不同的地方,可能只需要退后一步,但我现在找不到解决方案。另请注意这不在UITableView 中。非常感谢任何帮助,我总是在回答时标记我的问题。
答案 0 :(得分:1)
好的,这是我在if语句中添加的内容:
UITabBarController *MyTabViewController = (UITabBarController *)self.window.rootViewController;
[MyTabViewController setSelectedIndex:3];
UINavigationController *welcomeHomeViewController = [[MyTabViewController viewControllers] objectAtIndex:3];
UITabBar *tabBar = MyTabViewController.tabBar;
tabBar.hidden = YES;
[welcomeHomeViewController viewDidLoad];
这对我来说似乎有用,如果有更好的方法,请告诉我。只想发布答案,其他任何人都可以从中得到帮助。
编辑:栏仍然可见:(,但没有按钮可以推,只是一个黑条。任何帮助将不胜感激。至少用户无法访问栏,但我最终需要隐藏它编辑:好的,真的!很高兴我解决了这个问题,并希望这可以帮助别人!
在这里,在appsdevs中修改了这里: How to Hide Tab Bar Controller?
UITabBarController *MyTabViewController = (UITabBarController *)self.window.rootViewController;
for(UIView *view in MyTabViewController.view.subviews)
{
if([view isKindOfClass:[UITabBar class]])
{
[view setFrame:CGRectMake(view.frame.origin.x, 480, view.frame.size.width, view.frame.size.height)];
} else
{
[view setFrame:CGRectMake(view.frame.origin.x, view.frame.origin.y, view.frame.size.width, 480)];
}
}
[MyTabViewController setSelectedIndex:3];
UINavigationController *welcomeHomeViewController = [[MyTabViewController viewControllers] objectAtIndex:3];
[welcomeHomeViewController viewDidLoad];