AVPlayerLayer изменение размера

В настоящее время я работаю над отсоединяемым AVPlayer, чтобы вы могли перетащить его с помощью жеста панорамирования и поместить его в предварительно определенные зоны перетаскивания в вашем окне UIWindow. (Я знаю, что iOS 9 сделает это для меня... но я должен сделать это на iOS 8)

Я сделал всю работу (переместил, уменьшил / увеличил размер UIView, где находится плеер), и он хорошо работает с UIView. Тем не менее, AVPlayerLayer внутри этого представления действительно дергается, когда я одновременно перемещаю / изменяю размер UIView.

Итак, вот вопрос: как я могу плавно обновить кадр слоя? Я попытался использовать setNeedsDisplayOnBoundsChange, установив его в YES. И я также попытался реализовать layoutSublayersOfLayer, в котором я установил фрейм AVPlayerLayer на границы UIView.

Оба закончились лагами и действительно не плавными жестами.

NB: В самом простом примере проекта он работает как шарм. (Ничего другого в приложении, кроме двух контроллеров представления, один из которых представляет проигрыватель, и там я могу начать перетаскивать его в UIWindow... это прекрасно). Тем не менее, в моем текущем приложении проигрыватель также представлен выше всего остального, и жест действительно дергается только на слое. Остальная часть приложения состоит из нескольких контроллеров представления, но пока я использую проигрыватель, ничего не выполняется.

У кого-нибудь есть идея, как сделать так, чтобы он работал идеально? Спасибо:)

РЕДАКТИРОВАТЬ: я использую autolayout. Родительский вид AVPlayerLayer имеет 4 ограничения: верх, ведущий, ширина, высота.... 4 из них обновляются каждый раз, когда вы перетаскиваете его с помощью панорамирования. UIView имеет правильные значения.

0 ответов

Другие вопросы по тегам