UIToolbar在iOS7.1中失去半透明性

UIToolbar在iOS7.1中失去半透明性,ios,iphone,objective-c,Ios,Iphone,Objective C,在iOS7.1上运行我们的应用程序构建后,我们很快注意到我们正在使用的几个uitoolbar失去了“玻璃般”的半透明外观,变得完全透明 我已经将UIToolbar子类化,以创建一个带有一些文本的自定义视图 我尝试更改了Utoolbar的半透明选项和其他一些属性,但无法恢复效果 如何恢复半透明外观?在研究了一段时间后,我发现一些人在一些开源项目上与这个问题作斗争。我设法收集到的问题是UIToolbar必须是另一个视图的子视图-似乎您不能再直接将其子类化 因此,解决方案是使我的自定义视图成为UIVi

在iOS7.1上运行我们的应用程序构建后,我们很快注意到我们正在使用的几个uitoolbar失去了“玻璃般”的半透明外观,变得完全透明

我已经将UIToolbar子类化,以创建一个带有一些文本的自定义视图

我尝试更改了Utoolbar的半透明选项和其他一些属性,但无法恢复效果


如何恢复半透明外观?

在研究了一段时间后,我发现一些人在一些开源项目上与这个问题作斗争。我设法收集到的问题是UIToolbar必须是另一个视图的子视图-似乎您不能再直接将其子类化

因此,解决方案是使我的自定义视图成为UIView的一个子类,并在
initWithFrame
中执行以下操作(假设将属性“toolbar”添加到类中):

- (id)initWithFrame:(CGRect)frame
{
    self = [super initWithFrame:frame];
    if (self) {
        // Initialization code
        self.toolbar = [[UIToolbar alloc] initWithFrame:frame];
        [self addSubview:self.toolbar];
        self.toolbar.barStyle = UIBarStyleBlack;
        self.toolbar.translucent = YES;
        [...]
    }
return self;
}