1

私は現在、取り外し可能な AVPlayer に取り組んでいるので、パン ジェスチャでドラッグして、UIWindow の定義済みのドロップ ゾーンにドロップできます。(私は iOS 9 が私のためにそれを行うことを知っています...しかし、私は iOS 8 でそれをしなければなりません)

私はすべての作業(プレーヤーが配置されているUIViewのサイズの移動と縮小/拡大)を行い、UIViewでうまく機能しています。ただし、このビュー内のAVPlayerLayerは、UIViewを同時に移動/サイズ変更すると、非常にぎくしゃくします。

ここに質問があります:レイヤーのフレームをスムーズに更新するにはどうすればよいですか? setNeedsDisplayOnBoundsChange を YES に設定して使用してみました。また、AVPlayerLayer のフレームを UIView の境界に設定する layoutSublayersOfLayer の実装も試みました。

どちらもラグが発生し、実際にはスムーズなジェスチャーではありませんでした.

注意: 非常に基本的なプロジェクト サンプルでは、​​魅力的に機能しています。(アプリには 2 つのビュー コントローラー以外に何もなく、1 つはプレーヤーを表示し、そこから UIWindow でドラッグを開始できます...完璧です)。ただし、私の現在のアプリケーションでは、プレーヤーも他のすべての上に表示され、ジェスチャはレイヤーのみで本当にぎくしゃくしています。アプリケーションの残りの部分は複数のビュー コントローラーで構成されていますが、プレーヤーの使用中は何も実行されません。

誰かがそれを完全に機能させる方法についてアイデアを持っていますか? ありがとうございました :)

編集: 自動レイアウトを使用しています。AVPlayerLayer の親ビューには、上、リーディング、幅、高さの 4 つの制約があります。そのうちの 4 つは、パンジェスチャを使用してドラッグするたびに更新されます。UIView には正しい値があります。

4

0 に答える 0