16

私のスクロールには、 と のビューがいくつかcornerRadius = 10.0ありますmasksToBounds = YES

これにより、スクロール ビューをスクロールする際にパフォーマンスの問題が発生します。shouldRasterize各ビューのis setを試しましYESたが、問題は解決しません。

しかし、私はこの問題の解決策を知っています。それがmasksToBound設定されているものですNO。(masksToBound'sデフォルト値は NO)masksToBoundですがNO、私のビューのコーナーにはまだカーブがあり、パフォーマンスの問題も解決されています。

cornerRadiusと の関係を知りたいですmasksToBounds。この設定で予期せぬ問題が発生する恐れがあります。

ありがとうございました。

4

2 に答える 2

26

cornerRadius受信者の背景の丸みを帯びた角を描画するために使用される半径を指定した後。

現在はmasksToBounds、サブレイヤーがレシーバーの境界にクリップされているかどうかを決定するものによって異なります。したがって、 に設定されている場合YES、レイヤーの境界に一致する暗黙的なマスクが、プロパティの効果を含めてレイヤーに適用されcornerRadiusます。に設定されYES、マスク プロパティが指定されている場合、2 つのマスクが乗算されて実際のマスク値が取得されます。

例えば:

画像のコンテンツでこれを設定するCALayerと、画像は角の半径境界の外側に描画されます。sublayer.masksToBoundsに設定することでこれを解決できYESます。でもそうすると影がマスクされて出てこなくなります!

于 2012-07-04T08:51:10.570 に答える
-2

特定の関係はありません..実際にコーナー半径を呼び出すと、渡した半径でビューがトリミングされ、MaskToBound:はい、トリミングした部分を透明にします。それ以外の場合は表示されます...

于 2012-07-04T08:12:57.003 に答える