отключить все UITabBarItems при запуске приложения iPhone - PullRequest
0 голосов
/ 15 октября 2011

Мои требования состоят в том, чтобы при каждом запуске приложения мне приходилось показывать изображение экрана заполнения логотипа компании с UITabBar в нижней части экрана со всеми отключенными UITabBarItems.

Пользователь будет продолжать видеть это представление логотипа, пока он не решит щелкнуть мышью по любому из элементов табуляции, а затем появится соответствующий контроллер представления

Я пытался установить для [tabItem setEnabled:enableState]; значение ЛОЖЬ в appDelegates application:didfinishlaunchingwithoptions: непосредственно перед тем, как показано ниже, но все равно не получил описанное выше поведение:

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

Не могли бы вы подсказать, как этого можно достичь?

Спасибо,

Ответы [ 2 ]

1 голос
/ 17 октября 2011

ну, у нас есть один хитрый способ для этого, просто впервые статически установить uiimageview (yr заставку) с xib на каком-то контроллере представления панели вкладок yr (только для того, чтобы взять только снимок экрана), тогда вы можете получить скриншот вашегопанель вкладок с вашим uiimageview (изображением заставки), нажав кнопку «домой» и кнопку блокировки с устройства.

Используйте этот снимок экрана png в качестве вашего заставки uiimageview (то есть Default.png в ответе выше) с большой рамкой, чтобы пользовательне может коснуться нашего реального контроллера панели вкладок.

0 голосов
/ 15 октября 2011
    - (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];
}
...