在IB动作上为VC增加透明度 - iOS

时间:2012-07-11 01:33:36

标签: ios xcode ibaction

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

1 个答案:

答案 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]];