14

単一の UIView の一部として、多数のフルスクリーン CALayer があります。ユーザーがビューを操作する方法に応じて、1 つのレイヤーを表示し、他のレイヤーをすべて非表示にする必要があります。私は現在、不透明度を変更してこれを行っています。

非表示にするレイヤー: [layer setOpacity:0]; 表示するレイヤー: [layer setOpacity:1];

よくわからない理由で、これは画面上で点滅効果を生み出すようです。部分的にこれを回避するためですが、不透明度の変更がパフォーマンスに影響を与える可能性があるという印象があるため、不透明度を変更することが実際にCALayerを非表示および/または表示する最良の方法であるかどうか疑問に思っています。たとえば、zPositionの変更またはその位置の変更を検討する必要があります画面に表示されないようにします。

ちなみに、トランジションをアニメーション化したくありません。

ポインタやヘルプを事前にありがとう。

4

2 に答える 2

5

CALayer には「非表示」というプロパティがあります。不透明度を切り替える代わりに、YES と NO に設定してみてください。

非表示にするレイヤー: [layer setHidden:YES];

表示するレイヤー: [layer setHidden:NO];

これがお役に立てば幸いです。

于 2013-08-11T00:41:21.877 に答える