検索

ホームページ  >  に質問  >  本文

objective-c - iOS imageView渲染的问题

比如说A是一个imageView,B仅仅是一个普通的透明的view,我希望A被B盖住的部分是彩色的,而没有盖住的部分是黑白的,请问有什么实现的思路吗

迷茫迷茫2771日前625

全員に返信(2)返信します

  • 黄舟

    黄舟2017-04-18 09:48:29

    は A の layer.mask 実装を制御できます。マスクは A と B の重複領域です。rect の塗りつぶし layer.mask は、重複領域の path を計算することで変更できます。多くのマスキング効果はマスクを使用して実現されます。

    参考になるコードを書きました。プレイグラウンドで効果を直接確認できます:

    リーリー

    正常に実行されると、プレイグラウンドのアシスタント エディターで次の効果​​が確認できます:

    返事
    0
  • 大家讲道理

    大家讲道理2017-04-18 09:48:29

    1. AB の交点のサイズを計算します
    2. 色付き部分の開始点を計算します
    3. ベジェ曲線を使用して色付き部分を描画します
    4. CAShapeLayer を使用してパスを設定します3番目のステップバイステップベジェ曲線に、レイヤーをAに追加します。

    私の個人的な考えですが、ぜひ試してみてください。

    返事
    0
  • キャンセル返事