比较这两张截图:
在iOS 7.0模拟器上完成

以及在iOS 7.0.3 iPhone 4S上所做的工作:

相同的代码和相同的东西!你知道为什么半透明的东西会消失在真正的设备上吗?
我有这段代码来模拟它(我知道它可能很尴尬,也不对,但事实就是这样):
topMenuView = [[UIView alloc] initWithFrame:CGRectMake(self.view.frame.origin.x, 0, self.view.frame.size.width, TOP_BAR_ORIG_HEIGHT)];
topMenuView.clipsToBounds = YES;
UIToolbar *topMenuViewBar = [[UIToolbar alloc] initWithFrame:CGRectMake(0, -4, self.view.frame.size.width, TOP_BAR_ORIG_HEIGHT + 4)];
topMenuViewBar.barStyle = UIBarStyleDefault;
topMenuViewBar.barTintColor = [BSFunctions getColorFromHex:@"1ea6ff"];
const CGFloat statusBarHeight = 20;
UIView *underlayView = [[UIView alloc] initWithFrame:CGRectMake(0, -statusBarHeight, topMenuViewBar.frame.size.width, topMenuViewBar.frame.size.height + statusBarHeight)];
[underlayView setAutoresizingMask:(UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight)];
[underlayView setBackgroundColor:[BSFunctions getColorFromHex:@"1ea6ff"]];
[underlayView setAlpha:0.36f];
[topMenuViewBar insertSubview:underlayView atIndex:1];
UIView *underlayView2 = [[UIView alloc] initWithFrame:CGRectMake(0, -statusBarHeight, topMenuViewBar.frame.size.width, topMenuViewBar.frame.size.height + statusBarHeight)];
[underlayView2 setAutoresizingMask:(UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight)];
[underlayView2 setBackgroundColor:[BSFunctions getColorFromHex:@"0291ff"]];
[underlayView2 setAlpha:0.36f];
[topMenuViewBar insertSubview:underlayView2 atIndex:2];
[topMenuView addSubview:topMenuViewBar];
[self.view addSubview:topMenuView];主要的一点是,以前在设备上使用之前工作!但在iOS 7.0.3问世后,情况发生了变化。我在Facebook和Fitocracy iOS应用程序中也注意到了同样的行为。
更新
在Xcode 5.0.1和iOS 7.0.3模拟器上,我们有以下内容(这与您可以看到的iOS 7.0模拟器上的第一个图像不同):

发布于 2013-10-23 16:31:59
好的,所以在玩了更多的颜色后,我设法得到了一个类似的外观与模糊!
以前,我在导航栏外观上设置了一个barTintColor,其值如下:
R:17 G:63 B:95 A:1
这在iOS < 7.0.3中很好,导航条中的输出颜色(带有模糊效应)实际上是:
R:62 G:89 B:109
从iOS 7.0.3开始,barTintColor似乎考虑了我们设置的颜色的alpha值。这意味着导航条实际上输出了一个17,63,95的实色,而且没有模糊效果。
获得模糊效果的关键是在barTintColor中设置一个alpha <1。
经过大量的猜测和尝试不同的RGB值,我成功地从nav (和制表符)栏中获得了完全相同的RGB输出,使用以下RGBA:
R:4.5 G:61.6 B:98 A:0.65
它看起来不像有一个神奇的比率,适用于以前的颜色,以获得新的一个。
无论如何,我实际上已经拒绝了今天下午被批准的二进制文件,并且重新提交了这些新值,这样用户的应用程序就不会变得丑陋:)
希望这能有所帮助。
https://stackoverflow.com/questions/19534473
复制相似问题