Feel Physics Backyard

HoloLensの出張授業をする会社で、教材を開発しています

ビューを<部分的>に透明にしたいが<全体>が透明になってしまう

f:id:weed_7777:20161019174807j:plain

原因は、ビューののビューのアルファ値0にすると、ビューの方にもアルファ値が適用されて完全に透明になってしまうためです。対策は、ビューのアルファ値を1にして背景色を「Clear Color」にします。

すると子ビューは問題なく表示されます。というか「Clear Color」って…😩

なお、Storyboard使用時に起きましたがコードで書いても同じことは起きそうです。


私の場合は灰色の部分を半透明にしようとしました。まず、下の親ビューを透明にします。

f:id:weed_7777:20161019174914p:plain

次に、灰色の部分を半透明にします。

f:id:weed_7777:20161019174925p:plain

シミュレータを起動すると…

f:id:weed_7777:20161019174942p:plain

半透明になっていません。完全に透明になっています。

背景を入れると、こんな感じです。背景にもグラフが入っているので分かりにくいですが、背景がそのまま表示されてしまっています。

f:id:weed_7777:20161020083858p:plain

シミュレータでは半透明のビューが表示されているのですが…

f:id:weed_7777:20161020084027p:plain

これは、子ビューのアルファ値が親ビューのアルファ値を引き継ぐためです。

対策は、親ビューのアルファ値を1にして色の種類を「Clear Color」を指定します。

f:id:weed_7777:20161019175142p:plain

これでシミュレータ上でも半透明になります。

f:id:weed_7777:20161020084127p:plain

しかし「Clear Color」ねえ。.NET世界の住人の友人が見たらあきれられそうです。