无法在iOS7中淡化UIToolbar或UITabbar

时间:2013-10-08 21:30:18

标签: uikit core-animation ios7 uitabbar uitoolbar

我设置了一个新应用程序,底部有一个标签栏。下面是我的根视图控制器的viewDidAppear:方法:

- (void)viewDidAppear:(BOOL)animated
{
    self.tabBarController.tabBar.alpha = 0.0f;

    [UIView animateWithDuration:10.0f delay:0 options:UIViewAnimationOptionBeginFromCurrentState animations:^{
        self.view.backgroundColor = [UIColor redColor];
        self.tabBarController.tabBar.alpha = 1.0f;
    } completion:nil];
}

我观察到的是,只要视图出现,它就会alpha = 1.0f。我希望它从alpha = 0.0f开始,然后淡出alpha = 1.0f。另一方面,背景渐渐变为backgroundColor红色。

当我尝试淡化UIToolbar时会发生同样的事情。

1 个答案:

答案 0 :(得分:5)

将UIToolbar父视图层的allowGroupOpacity设置为NO。添加一个检查,因为它是iOS 7中的新功能。最好在viewDidLoad中:

if([self.view.layer respondsToSelector:@selector(setAllowsGroupOpacity:)]) {
    self.view.layer.allowsGroupOpacity = NO;
}
相关问题