在启动iPhone应用程序时禁用所有UITabBarItem

时间:2011-10-15 06:18:56

标签: iphone ios uitabbarcontroller uitabbaritem

我的要求是每当应用程序启动时,我需要显示公司徽标填充屏幕图像视图,屏幕底部的UITabBar禁用所有UITabBarItems。

用户将继续看到此徽标视图,直到他选择点击任何tabbaritems,然后相关的视图控制器出现

我已经尝试在下面的appDelegates [tabItem setEnabled:enableState];中将application:didfinishlaunchingwithoptions:设置为FALSE,但仍然没有得到上述行为:

self.window.rootViewController = self.tabBarController;
[self.window makeKeyAndVisible];

你能否建议如何实现这一目标?

谢谢,

2 个答案:

答案 0 :(得分:1)

我们有一个棘手的方法,只是第一次在yr标签栏的某个视图控制器上从xib静态设置uiimageview(yr splash screen view)(仅用于截取屏幕)然后你可以获得你的屏幕截图通过按设备上的主页按钮和锁定按钮,使用uiimageview(启动画面图像)显示标签栏。

使用该截图png图像作为yr启动画面uiimageview(即上面的答案中的Default.png)和大框架,这样用户就无法触摸我们真正的标签栏控制器。

答案 1 :(得分:0)

    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    defaultImageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"Default.png"]]; // enter name of image with your company logo
    defaultImageView.frame =self.window.bounds;

    [self.window addSubview:defaultImageView];


    [self.window makeKeyAndVisible];

    [self continueLoading]; //Load what do you want to load


    return YES;
}

并且,所有加载运行此方法:

- (void) removeImageFromScreen
{
    [UIView beginAnimations:nil context:NULL];
    [UIView setAnimationDelegate:defaultImageView];
    [UIView setAnimationDidStopSelector:@selector(removeFromSuperview)];
    [UIView setAnimationCurve:UIViewAnimationCurveEaseIn];
    [UIView setAnimationDuration:0.3f];
    defaultImageView.alpha = 0;
    [UIView commitAnimations];
}