web-dev-qa-db-ja.com

Swift UIView背景色の不透明度

UIViewを含むUILabelがあります。 UIViewの背景色を白色にしますが、不透明度は50%です。 view.alpha = 0.5を設定する際の問題は、ラベルの不透明度も50%になるため、背景色と不透明度が白いUIView(white_view)を使用できる可能性があることを理解したことです。 、そしてラベル(label_view)を持つ別のUIViewがあります。次に、label_view.addSubview(white_view)を実行して、「white_view」を「label_view」に追加します。これは明らかに機能しません。 label_view.backgroundView(white_view)のようにしたいのですが、たとえばUIViewでできるようにUICollectionViewに背景ビューを設定することはできません。

誰もこれを解決する方法の手がかりを持っていますか?

EDITいくつかの答えはほぼ同じなので、ここに入力します。今、私もこれらを試しました:

label_view1.backgroundColor = UIColor.whiteColor().colorWithAlphaComponent(0.5)
label_view1.addSubview(firstPlacelbl)
endGameView.addSubview(label_view1)

そして

label_view1.backgroundColor = UIColor(white: 1, alpha: 0.5)
label_view1.addSubview(firstPlacelbl)
endGameView.addSubview(label_view1)

また、ラベルもアルファの影響を受け、不透明度は50%になります。色のアルファを0.5に設定しているだけで、ラベルは設定していないため、間違ったことを理解できません。何か案は?

53
user2099024

ビューの背景色をアルファ付きのUIColorに設定でき、view.alpha view?.backgroundColor = UIColor(white: 1, alpha: 0.5)には影響しません

130

ビューのalphaプロパティを設定すると、そのサブビューに影響します。透明な背景だけが必要な場合は、ビューのbackgroundColorプロパティを、アルファ成分が1より小さい色に設定します。

view.backgroundColor = UIColor.whiteColor().colorWithAlphaComponent(0.5)
49
mustafa

in Swift 3.

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

これはxcode 8.2で機能します。

役に立つかもしれません。

27
Ashu

色の不透明度を変更して、InterfaceBuilderから設定することもできます。

enter image description here

8
Amani Elsaed

見つかった問題は、viewUIViewと異なることです。 「ビュー」はビュー全体を指します。たとえば、ホーム画面はビューです。

「ビュー」、「UIView」、および「UILabel」全体を明確に分離する必要があります。

これを実現するには、ストーリーボードに移動し、アイテム、Identity Inspectorをクリックして、Restoration IDを変更します。

次に、復元IDを使用してコード内の各アイテムにアクセスします

1
Marcus

Swiftでは簡単です。この色を背景ビューの色に入れるだけで機能します。

let dimAlphaRedColor = UIColor.redColor().colorWithAlphaComponent(0.7) yourView.backGroundColor = dimAlphaRedColor

0