アプリケーションにカスタム ビューがあります。これは、レイヤーに支えられ、NSScrollView
. ユーザーがズームインできるようにします (これは、カスタム ビューのサイズを大きくすることで実現されます)。ただし、任意のポイントにズームインするのに問題がありNSScrollView
ます。これは、新しいスクロールポイントにポイントする前に、ビューが邪魔になり、ビューが (通常はビューの原点に) ジャンプするためです。を使用したいのCAScrollLayer
ですが、ズームを正しく使用してスムーズに移動できることはわかっていますが、組み込みのスクロール機能がすべて失われます。
CAScrollLayer
内でNSScrollView
活用する方法はありますNSClipView
か? そうでない場合、CAScrollLayer
実際にはどのような目的に役立ちますか? 別のアプローチで、ビューのサイズとスクロールポイントをアトミックに変更してアニメーション化することは可能ですか?
要するに、CAScrollLayer
まったく役に立たない、またはほとんど役に立たない?
アップデート
CALayer
ビューのコンテンツを表示するサブクラスを作成することで、内側のビューのジャンプが少なくなりました。レイアウトの制約でサイズ変更するのではなく、オーバーライドでサイズ変更します-resizeWithOldSuperlayerSize:
。ただし、フレーム サイズとビューの原点を同時に変更して、スムーズなアニメーションを取得することはまだできません。探しているものを把握するには、プレビューで画像を開き、ズームインまたはズームアウトします。画像の中心をスムーズにズームします。