如何为UIView创建半透明背景?

时间:2011-07-11 19:02:57

标签: xcode uiview

我正在创建一个包含部分覆盖UIImageView的文本的UIView。我希望用户能够阅读文本并仍然保持对下面图像的透视。我尝试将背景颜色设置为[UIColor clearColor],但背景完全透明,根据图像颜色很难读取文本。

如果我降低view.alpha = 0.5,则包含文本的整个视图部分透明。我想要的是保持文本并部分降低背景的透明度,允许图像显示。

8 个答案:

答案 0 :(得分:35)

对于那些在故事板或.xib中拥有视图的人,只需在界面构建器中选择“清除颜色”选项,在“实用程序”窗格(右侧窗格)中选择“清除颜色”选项即可。 “清除颜色”将为视图提供完全透明的背景。

See screenshot

如果您需要部分透明的背景颜色,请使用颜色选择器选择所需的背景颜色,并使用底部的“不透明度”滑块设置透明度。

opacity slider to arrange transparency of the background colour of your view

答案 1 :(得分:28)

我认为你的意思是你希望你的UIView的backgroundColor是半透明的吗?如果你想要白色/透明,请使用:

myView.backgroundColor = [UIColor colorWithWhite:myWhiteFloat alpha:myAlphaFloat];

否则,如果您希望它是另一种颜色,请使用常规UIColor方法:+colorWithRed:green:blue:alpha:

答案 2 :(得分:6)

这样可行。

myView.backgroundColor = [[UIColor blackColor] colorWithAlphaComponent:0.7f];

答案 3 :(得分:2)

最终你已经有了一种颜色,所以你可以像这样使用.colorWithAlphaComponent

let exampleColor = UIColor.blackColor()
overlayView.backgroundColor = exampleColor.colorWithAlphaComponent(0.8)

答案 4 :(得分:0)

我相信你应该使用:

myView.alpha = myAlphaFloat;
myView.opaque = NO;

答案 5 :(得分:0)

对于Xamarin C#,此时,视觉故事板没有"不透明度" Xcode的故事板mentioned by Bocaxica的滑块。

如果您在情节提要中为视图BackgroundColor设置了nameOfView,那么请在视图控制器的ViewDidLoad中添加此行以设置alpha:

nameOfView.BackgroundColor = nameOfView.BackgroundColor.ColorWithAlpha( 0.7f );  // A value between 0 and 1.

答案 6 :(得分:0)

Swift 3 +

白色半透明:

view.backgroundColor = UIColor(white: 1, alpha: 0.5)

或黑色半透明:

        view.backgroundColor = UIColor(red: 0, green: 0, blue: 0, alpha: 0.5)

答案 7 :(得分:0)

对于Swift 4 +:

黑色半透明视图:

view.backgroundColor = UIColor.black.withAlphaComponent(0.5)