我正在创建一个包含一些文本并部分覆盖UIImageView的UIView。我希望用户能够阅读文本并仍然保持对下面图像的视角。我尝试将背景颜色设置为[UIColor clearColor],但是背景完全透明,根据图像颜色很难阅读文本。
如果我降低view.alpha = 0.5,整个视图(包括文本)都是部分透明的。我想要的是保留文本并部分减少背景透明度,使图片透过来显示。
对于那些在故事板或 .xib 中拥有视图的人,您只需在界面构建器中选择“清除颜色”选项来为视图的背景设置透明背景(位于右侧的实用程序窗格中)。 “Clear Color” 将为视图提供完全透明的背景。
如果您需要部分透明的背景颜色,请使用颜色选择器选择所需的背景颜色,并使用底部的不透明度滑块设置透明度。
另一个非常有用的选项是将颜色添加到您的 .xcassets
库中,以便您可以轻松地在不同的视图中使用相同的颜色。 您还可以使这些颜色(半)透明,下面是如何操作:
.xcassets
库Attributes Inspector
中,您可以更改颜色并使用滑块调整其不透明度属性检查器
中的 背景
选项中,您现在可以选择添加到 .xcassets
库中的颜色。如果您的应用程序中有多个视图使用相同的背景,则这非常有用。在代码中,您可以使用以下方式访问 Color Assets 中的颜色:
SWIFT (UIColor): UIColor(named: "DP Textfield")
SWIFTUI (Color): Color("DP Textfield")
我认为你的意思是想让UIView的背景色半透明? 如果你想要白色/透明,请使用以下代码:
myView.backgroundColor = [UIColor colorWithWhite:myWhiteFloat alpha:myAlphaFloat];
如果你希望它是另一种颜色,可以使用通用的UIColor方法:+colorWithRed:green:blue:alpha:
这个会起作用。
myView.backgroundColor = [[UIColor blackColor] colorWithAlphaComponent:0.7f];
.colorWithAlphaComponent
:let exampleColor = UIColor.blackColor()
overlayView.backgroundColor = exampleColor.colorWithAlphaComponent(0.8)
对于Swift 4+:
黑色半透明视图:
view.backgroundColor = UIColor.black.withAlphaComponent(0.5)
Swift 3+
半透明的白色:
view.backgroundColor = UIColor(white: 1, alpha: 0.5)
或者是黑色半透明的:
view.backgroundColor = UIColor(red: 0, green: 0, blue: 0, alpha: 0.5)
我认为你应该使用:
myView.alpha = myAlphaFloat;
myView.opaque = NO;
对于Xamarin C#,目前的视觉故事板没有Xcode故事板中的“不透明度”滑块由Bocaxica提到。
如果您在故事板中为视图nameOfView
设置了BackgroundColor
,那么在您的视图控制器的ViewDidLoad
中,添加此行以设置alpha:
nameOfView.BackgroundColor = nameOfView.BackgroundColor.ColorWithAlpha( 0.7f ); // A value between 0 and 1.