-1

我有一个案例需要在 IBAction 上打开一个新的 UIViewController。这个新的 UIViewController 应该是透明的。当我进行正常的模态转换时,它会隐藏旧的 UIViewController。对此有何建议?

4

1 回答 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 回答