我有一个案例需要在IBAction上打开一个新的UIViewController。这个新的UIViewController应该是透明的。当我进行正常的模态转换时,它会隐藏旧的UIViewController。对此有何建议?
答案 0 :(得分:1)
出于您的目的,您需要告诉模态View Controllers视图属性更改alpha。 (最好在视图控制器viewDidLoad
中完成)
这很简单:
- (void) viewDidLoad
{
[self.view setAlpha:0.5];
}
现在,另一种方法是使用添加的新UIView
作为主视图控制器的子视图。以下将显示如何为其设置动画。
UIView *myNewView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 480)];
[myNewView setAlpha:0.0];
[self.view addSubview:myNewView];
[UIView animateWithDuration:1.5 animations:^{
[myNewView setAlpha:0.5];
}];
编辑:要更改背景视图的字母并保留其子视图的字母,请尝试将其设置为这样。
[myNewView setBackgroundColor:[[UIColor blueColor] colorWithAlphaComponent:0.2]];
[myNewViewsSubView setBackgroundColor:[[UIColor redColor] colorWithAlphaComponent:1.0]];