酒吧半透明在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
它看起来不像是应用于前一种颜色的魔术比率来获得新的比例。
无论如何,我实际上拒绝了今天下午获得批准的二进制文件,并重新提交这些新的值,以便用户不会得到一个丑陋的应用程序:)
希望这可以帮助。