我有一个案例需要在 IBAction 上打开一个新的 UIViewController。这个新的 UIViewController 应该是透明的。当我进行正常的模态转换时,它会隐藏旧的 UIViewController。对此有何建议?
问问题
143 次
1 回答
1
出于您的目的,您需要告诉模态视图控制器视图属性以更改 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];
}];
编辑:要更改背景视图的 alpha 并保留其子视图的 alpha,请尝试像这样设置它。
[myNewView setBackgroundColor:[[UIColor blueColor] colorWithAlphaComponent:0.2]];
[myNewViewsSubView setBackgroundColor:[[UIColor redColor] colorWithAlphaComponent:1.0]];
于 2012-07-11T02:03:18.393 回答