36

2 つのスクリーンショットを比較します。

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 シミュレーターの最初の画像とは異なります)。

ここに画像の説明を入力

4

1 に答える 1