簡體   English   中英

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

[英]alpha for background color not working in iOS

你知道為什么 alpha 參數在我的視圖中不起作用嗎?

  self.view.backgroundColor = UIColor.blackColor().colorWithAlphaComponent(0.4)

也請查看此視頻

視頻

謝謝

如果您使用情節提要並使用 segue 呈現視圖控制器,則顯示具有透明背景的視圖控制器的 segue 的呈現屬性應全屏顯示,如附件所示。

在此處輸入圖片說明

然后在您的視圖控制器中使用此設置背景顏色:

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

這並不奇怪,它的行為完全符合它應有的要求。 UIColor的方法雖然很多都是類方法,但還是有一些實例方法,這就是其中之一。 來自 UIColor 文檔

colorWithAlphaComponent:

創建並返回一個顏色對象,該對象具有與接收器相同的顏色空間和分量值,但具有指定的 alpha 分量。 所以, colorWithAlphaComponent: 只是改變其接收器的 alpha 值。 例子:

let black = UIColor.blackColor() // 1.0 alpha
self.view.backgroundColor = black.colorWithAlphaComponent(0.5) // 0.5 alpha

您正在呈現ViewController,因此它將無法工作,因為您必須在其他 ViewController 上添加UIViewController 的UIView ,然后才能工作。

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

我在 iOS 12 上發現了一個與標題(但不是答案)相關的問題,其中 withAlphaComponent 不起作用。

  1. 在故事板中,將視圖背景顏色設置為不透明的命名顏色
  2. 在代碼中(例如 viewController 的 viewDidLoad),將此視圖的背景顏色更改為相同的命名顏色但具有不同的 alpha(使用 withAlphaComponent)

預期結果:視圖背景顏色是帶有一些 alpha 的命名顏色。 實際結果:視圖背景顏色是他命名的顏色,沒有 alpha。

如果情節提要中設置的顏色是命名顏色以外的任何顏色,則不會出現此問題。 它也不會發生在 iOS 14.1 上。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM