質問

私は、元のビューのCAShapeLayerにサブレイヤとして追加されますCALayerへのビューから、いくつかのカスタム描画コードを移動しようとしています。また、これはうまく機能するが、デバイスを回転させたときに、アニメーションは、吃音を開始し、例えばまったくスムーズではない - あなただけの間で最大1つのフレームで、元の向きでフレームと、最終的なオリエンテーションを参照してください。スライドインおよび対応するUIViewControllerのスライドアウトアニメーションも(ただしそれほど)。

、ビットぎくしゃくしています すべてCAShapeLayerpathの一方CGPathAddRectでいる

、そのopaqueopacity1.0fが不透明な青色に設定されている、fillColorするように設定されている。

ビューdrawRect方法で直接パスを描画するときに、

、しかし、アニメーションは 滑らかです。だから私はそれが回転中にアニメ化されてCAShapeLayerとは何かを持っているとします。

あなたはそれらのぎくしゃくを取り除くか、アニメーション化するときだけCAShapeLayerを隠す取得するいずれかの方法を教えてもらえますか?私は(それがビューを回転させながら、私の試みでアニメーションされていません)。そのパスをアニメーション化するCGPathの能力に依存しているため、単に直接CAShapeLayersを描画するために戻って得ることは私にはオプションではありません。

/更新:回転UIViewControllersビューはそのCAGradientLayer(背景として傾斜層と、例えば図)としてlayerClassのサブクラスを有するビューが含まれている場合、これはまた起こる

乾杯

MrMage

役に立ちましたか?

解決 2

この問題は、iOSの4にAppleが修正されているように、

に思えます。

他のヒント

まあ非表示プロパティがあり、あなたがして、アニメーションを行うCAShapeLayerを隠すことができます。それが回転している間、あなたはそれを見ないように、そして、CAShapeLayerをアンが、隠しメソッドを呼び出し、それがスムーズでなければなりません。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top