目前一个alpha为0.5的控制器

时间:2014-09-04 09:41:06

标签: ios objective-c animation uinavigationcontroller

新的UIViewController例如名为 vc ,然后调用

[self presentViewController:vc animated:YES completion:nil];

我希望 vc 看起来像透明或alpha = 0.5,

我知道下面的代码可以做到这一点,现在的动画消失了,我想要透明 annimation ,任何想法?

self.modalPresentationStyle = UIModalPresentationCurrentContext;

2 个答案:

答案 0 :(得分:1)

我不确定这是最好的解决方案,但你可以非常简单地完成动画:

NewViewController *newVC = [[NewViewController alloc] init];
newVC.view.frame = CGRectMake(0, SCREEN_HEIGHT, self.view.frame.size.width, self.view.frame.size.height);
newVC.view.alpha = 0.5;    

[self addChildViewController:newVC];
[self.view addSubview:newVC.view];

[UIView animateWithDuration:0.3 animations:^{
    newVC.view.frame = CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height);
} completion:nil];

答案 1 :(得分:1)

如果您提供不透明度,则所有按钮,标签等也会有不透明度。

按照以下步骤进行操作...

为视图提供透明色。

self.view.backgroundColor = [UIColor clearColor];

然后添加uiimageview并将背景颜色设为透明色,然后将不透明度设为0.5。

myImage.backgroundColor = [UIColor clearColor];
myImage.alpha = 0.5;