clearColor使背景颜色变黑

时间:2016-07-21 12:19:47

标签: ios objective-c swift xcode

我希望在我的UIViewController中有一个透明的背景,因为我使用了clearColor这样

colorPickerVc.view.backgroundColor = UIColor.clearColor()
presentViewController(colorPickerVc, animated: true, completion: nil)

问题是当colorPickerVc加载完毕后,背景颜色变黑 我想要一个解决方案,如果可能的话,在ios 7上工作 谢谢你的帮助

@ good4pc的解决方案:

colorPickerVc.view.backgroundColor = UIColor.clearColor()
if #available(iOS 8.0, *) 
{
    colorPickerVc.modalPresentationStyle = UIModal PresentationStyle.OverCurrentContext
} 
else 
{
     colorPickerVc.modalPresentationStyle = UIModalPresentationStyle.CurrentContext
}

presentViewController(colorPickerVc, animated: true, completion: nil)

为我工作,谢谢你们的帮助

5 个答案:

答案 0 :(得分:5)

colorPickerVc.modalPresentationStyle = UIModalPresentationStyle.OverCurrentContext
colorPickerVc.view.backgroundColor = UIColor.clearColor()

答案 1 :(得分:0)

尝试将视图图层的不透明度设置为零,而不是使用清晰的颜色

答案 2 :(得分:0)

clearColor()实际上正在工作,但是如果你没有任何东西,你可以使用clearColor(),那么屏幕将是黑色的,因为这就是没有任何东西可以显示的样子

你真的在你明确的对象背后有什么东西吗?

背景中应该是什么颜色或图像或什么?

由于它是一个颜色选择器,我假设你想要在后台使用最后一个viewController,但你正在做的是创建一个全新的屏幕,所以这样做的方法可能是没有picker作为一个viewController,但就像一个UIView作为叠加放在上一个viewController上或者如评论中提到的那样,得到一个截图并把它放在后面

答案 3 :(得分:0)

在调试中查看colorPickerVc.view.superViewcolorPickerVc.view.superView.superView是什么。在呈现视图控制器时,不仅是添加到层次结构中的视图。

答案 4 :(得分:0)

我在几个视图中遇到了同样的问题,而我所要做的就是在故事板中将不透明特性设置为NO(未选中)。 (使用Xcode 9 beta)