Вот другой способ.
Предположим,
self.window <--- базовый вид и эта альфа будет изменена (но точно фальшивая).
subView1, subView2 <- эти представления являются содержимым self.window. и их альфа не должна быть изменена. </p>
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];
Вы можете создать метод, используя приведенный выше код :)