在视图之上呈现新的半透明VC

时间:2014-11-05 09:54:01

标签: ios view controller storyboard transparency

我环顾四周,似乎无法弄清楚这一点。

我只想尝试在另一个视图之上显示视图,但来自另一个VC ,以及 storyboard

"想法" behinf这个视图是一种弹出/警报,它最终需要一个集合视图和多个按钮。所以我认为我只是用另一个VC这样做,因为我需要那个" popup"在应用程序的许多地方。

现在,我可以做到,但我的观点并不透明(即使我的alpha设置正确),所以我猜测"""""观点实际上已经消失了,我只是做了一个常规的#seg;"使用不同的方法。所以我被卡住了。

我不能复制粘贴整个VC类我需要的地方所以我可以" addsubview"它...

有什么想法吗?

这就是我正在做的事情:

AddFeelingViewController *adf = (AddFeelingViewController *)[self.storyboard instantiateViewControllerWithIdentifier:@"AddFeelingViewController"];

adf.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;
[self presentViewController:adf animated:YES completion:nil];

视图显示,我可以互动,但由于它非常小,我只需要一个透明的背景"我没有。此外,我计划使用全屏按钮删除视图。经典"在某处取消"按钮类型。

非常感谢任何帮助!

2 个答案:

答案 0 :(得分:1)

您应该在Github上检查这个项目,它在“自定义转换”中完全符合您的要求。

https://github.com/schneiderandre/popping

它是使用Facebook pop动画引擎创建的。

答案 1 :(得分:0)

这是一种获取alpha值的方法,但你可以不用呈现viewController,只需将它作为子视图和alpha值一起添加到当前视图中,如下所示: -

-(IBAction)newView:(id)sender {
  demoVc = (YOUR_VIEW_CONTROLLER *)[self.storyboard instantiateViewControllerWithIdentifier:@"identifier"];

  demoVc.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;
  [demoVc.view setAlpha:0.3];   //Set alpha value

   //    [self presentViewController:demoVc animated:YES completion:nil];

  [self.view addSubview:demoVc.view];
}

同样要删除你可以简单地创建一个IBAction方法将其从superview中删除。