我正在创建一个包含部分覆盖UIImageView的文本的UIView。我希望用户能够阅读文本并仍然保持对下方图像的透视。我曾尝试将背景色设置为[UIColor clearColor],但背景完全透明,根据图像颜色很难读取文本。如何为UIView创建半透明背景?
如果我降低view.alpha = 0.5,包括文本在内的整个视图都是部分透明的。我想要的是保持文本并部分地减少背景的透明度,从而使图像显示出来。
我正在创建一个包含部分覆盖UIImageView的文本的UIView。我希望用户能够阅读文本并仍然保持对下方图像的透视。我曾尝试将背景色设置为[UIColor clearColor],但背景完全透明,根据图像颜色很难读取文本。如何为UIView创建半透明背景?
如果我降低view.alpha = 0.5,包括文本在内的整个视图都是部分透明的。我想要的是保持文本并部分地减少背景的透明度,从而使图像显示出来。
我认为你的意思是你的UIView的backgroundColor是半透明的?如果你想白/透明地使用这样的:
myView.backgroundColor = [UIColor colorWithWhite:myWhiteFloat alpha:myAlphaFloat];
否则,如果你希望它是另一种颜色用一般的UIColor方法:+colorWithRed:green:blue:alpha:
我相信你应该使用:
myView.alpha = myAlphaFloat;
myView.opaque = NO;
这设置整个视图及其内容。杰西的答案设置了backgroundColor。 – grigb
不,这是问题提问者说他不想做的事情,因为他试图使文本100%不透明 - 只有*背景颜色*希望是半透明的。 – ToolmakerSteve
对于那些在storyboard或.xib中查看视图的用户只需在界面构建器中通过在“实用程序”窗格(右侧窗格)中选择视图背景的“清除颜色”选项来执行此操作。 “清除颜色”将为视图提供完全透明的背景。
如果需要背景颜色是部分透明的,选择与颜色选择器的背景颜色,并使用不透明度滑块在底部设置的透明度。
最终,你已经有一个颜色,这样你可以使用.colorWithAlphaComponent
这样的:
let exampleColor = UIColor.blackColor()
overlayView.backgroundColor = exampleColor.colorWithAlphaComponent(0.8)
这将工作。
myView.backgroundColor = [[UIColor blackColor] colorWithAlphaComponent:0.7f];
对于Xamarin C#,此时,视觉故事板没有Xcode的故事板mentioned by Bocaxica的“不透明度”滑块。
如果你在故事板的视图nameOfView
设置BackgroundColor
,然后在您的视图控制器的ViewDidLoad
,加入这行来设置阿尔法:
nameOfView.BackgroundColor = nameOfView.BackgroundColor.ColorWithAlpha(0.7f); // A value between 0 and 1.
斯威夫特3+
白色半透明:
view.backgroundColor = UIColor(white: 1, alpha: 0.5)
或黑色半透明:
view.backgroundColor = UIColor(red: 0, green: 0, blue: 0, alpha: 0.5)
我试过以下“self.summaryViewController.view.backgroundColor = [UIColor colorWithWhite:1.0 alpha:0.2];”并没有任何效果。 summaryViewController.view中有许多子视图。会有什么影响? – ChrisP
我得到它的工作。有趣的是,我不得不将命令添加到summaryViewController的viewDidLoad中,而不是在它的父视图控制器中。 – ChrisP