我有一个UIViewController派生类,我想做的是有一个不透明的子视图,而它的父视图(主UIViewController.view)有50%的透明度。
在控制器类的viewDidLoad上,我设置了视图和子视图的alpha值。但是,我看到的是基本视图和子视图都是半透明的。有没有办法不发生这种情况?
// Class declaration
@interface MyViewControllerClass : UIViewController
{ }
@property (nonatomic, strong) IBOutlet UIView *contentView;
@end
// Class implementation
- (void)viewDidLoad
{
// I want the main view to be a transparent overlay
[self.view setBackgroundColor:[UIColor lightGrayColor]];
[self.view setAlpha:0.5];
// This is the subview I want to look normal
[self.contentView setAlpha:1.0];
[self.contentView setOpaque:NO];
[super viewDidLoad];
}
答案 0 :(得分:3)
你做不到。您需要以另一种方式安排您的观点以获得您想要的效果。尝试将另一个UIView添加到主视图,并将其透明度设置为50%。这样你的其他物品就可以留在主视图上而不会受到影响。