2015-07-04 49 views
0

我正在开发一个应用程序,目标是iOS 7及以上。我想用模糊的背景来呈现一个暗淡的背景,部分显示下面的前一个视图。我读过几个职位对付这种情况下,我做了:无法将模糊背景设置为模式视图

  1. storyboard创建一个视图控制器场景,设置一个模式SEGUE来找到它。
  2. 将该模式的segue值设置为Current Context
  3. 将视图控制器的视图背景颜色设置为清除颜色。
  4. 在父视图上方添加了全屏视图,黑色背景和50%不透明度。

过渡到模态视图是默认的和动画的。在动画中,我看到视图呈现为半透明,但是一旦过渡动画结束并且视图最终占据全屏,则视图变得不透明的黑色。

我在做什么错了?我怎么能解决这个问题?

+1

只是关于最后一条语句的说明:它可能不会变得不透明,但后面的视图不再呈现,前面的视图仍然是透明的,但不再显示任何背后的视图。 – luk2302

回答

0

正如@ luk2302所言,当你以模态方式呈现视图控制器时,iOS会从视图层次结构中删除其下的视图控制器,因此除了应用程序窗口(它是黑色的)之外,它下面没有任何视图控制器。无论如何,iOS 7有一种新的模式演示风格,UIModalPresentationCustom,强制iOS不删除所呈现的视图控制器下的视图。但是您必须提供自己的转换代理来处理演示文稿并解除动画 检查this link如何实施自定义转换代理。

+0

如果我想要呈现的模态视图没有比向用户显示消息和被解散的目的更多的目的,那么实际上最好是创建一个视图并将其添加到当前视图之上? – AppsDev

+0

不,视图控制器仍然存在,它只是不呈现。 – Lucifer

+0

这就是为什么我认为只是将我想要的子视图添加到当前视图和视图控制器中,而不显示具有其自己的视图控制器的模型视图......应该工作,对吧?我只想显示一种暗淡的背景和自定义解雇按钮的警报...... – AppsDev