Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
背景色的alpha在iOS中不起作用_Ios_Iphone_Xcode_Swift_Uikit - Fatal编程技术网

背景色的alpha在iOS中不起作用

背景色的alpha在iOS中不起作用,ios,iphone,xcode,swift,uikit,Ios,Iphone,Xcode,Swift,Uikit,你知道为什么alpha参数对我的视图不起作用吗 self.view.backgroundColor = UIColor.blackColor().colorWithAlphaComponent(0.4) 请同时查看此视频 谢谢这并不奇怪,它的行为正是它应该做的。尽管UIColor的许多方法都是类方法,但仍然有一些实例方法,这就是其中之一。从颜色上看 带有字母组件的颜色: 创建并返回具有相同颜色空间和颜色的颜色对象 组件值作为接收器,但具有指定的alpha 组成部分。所以,colorWit

你知道为什么alpha参数对我的视图不起作用吗

  self.view.backgroundColor = UIColor.blackColor().colorWithAlphaComponent(0.4)
请同时查看此视频


谢谢

这并不奇怪,它的行为正是它应该做的。尽管UIColor的许多方法都是类方法,但仍然有一些实例方法,这就是其中之一。从颜色上看

带有字母组件的颜色:

创建并返回具有相同颜色空间和颜色的颜色对象 组件值作为接收器,但具有指定的alpha 组成部分。所以,colorWithAlphaComponent:只需更改alpha值 它的接收器。例如:


您正在演示视图控制器,因此它将不起作用,因为您必须在另一个视图控制器上添加UIViewControllerUIView,然后它将起作用

   [[self view] addSubview:myViewController.view];

如果您正在使用序列图像板并使用segue显示视图控制器,则segue显示具有透明背景的视图控制器的presentation属性应为全屏显示,如附件所示

然后在视图控制器中使用以下命令设置背景色:

self.view.backgroundColor = UIColor(white: 0, alpha: 0.4)

我在iOS 12上发现了一个问题,它与withAlphaComponent不起作用的标题(但不是答案)有关

  • 在情节提要中,将视图背景颜色设置为不透明的命名颜色
  • 在代码(例如viewController的viewDidLoad)中,将此视图的背景颜色更改为相同的命名颜色,但使用不同的alpha(使用WithAlpha组件)
  • 预期结果:视图背景颜色是带有一些alpha的指定颜色。 实际结果:视图背景颜色为命名颜色,无alpha


    如果故事板中设置的颜色不是指定的颜色,则不会出现此问题。iOS 14.1上也不会出现这种情况。

    试试这个:[uicolorWithWhite:alpha:]试试这个:[self.view setAlpha:0.4];self.view.alpha=0.4,结果相同
    self.view.backgroundColor = UIColor(white: 0, alpha: 0.4)