酒吧半透明在iOS 7.0.3了

比较两个截图:

在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应用中的相同行为。

UPDATE

在iOS 7.0.3模拟器的Xcode 5.0.1上,我们有这个(与iOS 7.0模拟器上的第一个图像不同,如你所见):

在这里输入图像说明

好了,所以在玩了一些颜色之后,我设法得到了模糊的类似的外观!

以前,我在导航栏外观上设置了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值,我设法从导航(和标签)栏获得完全相同的RGB输出,使用以下RGBA:

R:4.5 G:61.6 B:98 A:0.65

它看起来不像是应用于前一种颜色的魔术比率来获得新的比例。

无论如何,我实际上拒绝了今天下午获得批准的二进制文件,并重新提交这些新的值,以便用户不会得到一个丑陋的应用程序:)

希望这可以帮助。