私はゲームのインターフェイスの一部としてシンプルな形を描こうとしています。ほとんどのチュートリアルでは、UIBezierPathを使ってCAShapeLayerのパスを定義しています。しかし、私は、UIBezierPathに既にfill functionが存在することに気付きました。UIBezierPath fillとCAShapeLayer
これはおそらくばかげた質問ですが、それを使用してパスを描くために別のCAShapeLayerを使用することとの違いは何ですか?また、どちらが良いですか?
uibezierpathに色を塗りつぶしてレンダリングする場合はどうすればよいですか?私たちの唯一の選択はCAShapeLayerではありませんか? @dfd –
私は最も正確な答えは「それは依存している」と思います。あなたは、*または* animate *という単語を使用していない、または私が使用していることを暗示しているので、「いいえ」と言います。すべてのビューには、 'UIBezierPath'を描画できるコンテキストを含む、' draw(rect:) '関数があります。このパスには、* stroke *と* fill *カラーがあります。また、ベジェパスを閉じる*を選択した場合、囲まれたパスに塗りつぶしの色が塗りつぶされます。はい、それは起こることがいくつかあります - そして、 'CAShapeLayer'はあなたにアニメーション化できるレイヤーを与えますが、それは*唯一の選択肢ではありません。 – dfd
私は、CAshapelayerのパスから形状を作成するときに、それを正確にレンダリングするのが簡単だからですが、cgcontextrefを使うと悪夢になることがあるので、私はそれを聞いています。だからこそ私はこのことに悩まされている。https://stackoverflow.com/q/48599949/3124848 @dfdもしあなたが私を指導できるなら、本当に感謝している。 –