iOS7 无法淡化 UIToolbar 或 UITabbar

Posted

技术标签:

【中文标题】iOS7 无法淡化 UIToolbar 或 UITabbar【英文标题】:Can't fade UIToolbar or UITabbar in iOS7 【发布时间】:2013-10-08 21:30:17 【问题描述】:

我设置了一个底部带有标签栏的新应用程序。下面是我的根视图控制器的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】:

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

if([self.view.layer respondsToSelector:@selector(setAllowsGroupOpacity:)]) 
    self.view.layer.allowsGroupOpacity = NO;

【讨论】:

以上是关于iOS7 无法淡化 UIToolbar 或 UITabbar的主要内容,如果未能解决你的问题,请参考以下文章

iOS7 UIToolbar 上缺少阴影(细线)

iOS7 上的 UIToolbar 样式

iOS7 UIToolbar 崩溃

iOS7中的UIToolbar颜色不正确

在 iOS7 中半透明的 UIToolbar 上挖一个洞

在ios7中将细线边框添加到UiToolbar的底部[重复]