そのため、今はUIView
にUILabel
が含まれています。背景の不透明度を1.0未満にし、ラベルの不透明度を1.0にする必要があります。ただし、アルファはビュー階層に沿って伝播するため、ラベルも最終的に不透明度<1.0になります。
とにかくUILabel
を別のビューのサブビューにせずに、私がやりたいことをする方法はありますか??
背景色を半透明に設定するだけです:
_view.backgroundColor = [[UIColor blackColor] colorWithAlphaComponent:0.5f];
_
または、Swiftで:
_view.backgroundColor = UIColor.blackColor().colorWithAlphaComponent(0.5)
_
または、Swift 3:
_view.backgroundColor = UIColor.black.withAlphaComponent(0.5)
_
この特定のケースでは、UIColor(white: 0, alpha: 0.5)
はより簡潔ですが、colorWithAlphaComponent
は一般に機能することに注意してください。
コードで利用できることに加えて、iBからも簡単にこれを行うことができます。
UIView
の背景色を半透明の色で設定するか、画像自体を半透明にすることができます。このように、それはビュー自体ではなく、透明なビューのプロパティです。