这是另一种方式。
假设 self.window <--- 基本视图和这个 alpha 将被更改(但完全是假的)。subView1, subView2 <-- 这些视图是 self.window 的内容。他们的阿尔法不应该改变。
self.window.backgroundColor = [UIColor clearColor];
UIView* anAlphaView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, self.window.frame.size.widht, self.window.frame.size.height)];
anAlphaView.backgroundColor = [UIColor blackColor]; // as you want
anAlphaView.alpha = 0.5f; // as you want.
[self.window addSubview:anAlphaView];
[anAlphaView release];
[self.window addSubview:subView1]; // you should add sub views to self.window
[self.window addSubview:subView2];
您可以使用上面的代码制作方法:)