我希望在我的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)
为我工作,谢谢你们的帮助
答案 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.superView
和colorPickerVc.view.superView.superView
是什么。在呈现视图控制器时,不仅是添加到层次结构中的视图。
答案 4 :(得分:0)
我在几个视图中遇到了同样的问题,而我所要做的就是在故事板中将不透明特性设置为NO(未选中)。 (使用Xcode 9 beta)