Не плавное вращение встроенного в UIWebView видео Youtube

Я использую вспомогательную библиотеку Youtube iOS для воспроизведения встроенного видео YT в моем приложении. Мое приложение обычно работает без сбоев, а видео загружаются и воспроизводятся нормально. У меня была проблема, при которой, когда я поворачивал телефон (симулятор), видео выпадало из кадра. Поэтому, если бы я загрузил видео в портретной ориентации, видео было бы центрировано в портретной ориентации, но когда я повернулся бы в альбомную ориентацию, видео было бы в нижнем углу.

Чтобы решить эту проблему, теперь я изменяю размер плеера с помощью javascript.

- (void)setSizeOfIFrameToWidth:(int)width Height:(int)height {
[self.webView stringByEvaluatingJavaScriptFromString:
    [NSString stringWithFormat:@"player.setSize(%d, %d)", width, height]];
}

(Это внутри класса YTPlayer, который я редактировал).

Это отлично работает и вызывается у владельца youtubeView:

- (void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration {

    [self.youtubeView setSizeOfIFrameToWidth:self.youtubeView.frame.size.width Height:self.youtubeView.frame.size.height];
    [super willAnimateRotationToInterfaceOrientation:toInterfaceOrientation duration:duration];
    [self.youtubeView setNeedsDisplay];
}

(Я не уверен, что эта последняя строка setNeedsDisplay что-то делает)

Но теперь при вращении сначала вид обрезается сбоку, а потом крутится неуклюже. Выглядит очень рвано. Вот лучшие скриншоты, которые я могу получить:

А также

Обратите внимание, как во время вращения видео обрезается.

(Кстати, я не владею правами на видео в плеере. Это отсюда https://www.youtube.com/watch?v=Q78COTwT7nE)


person marisbest2    schedule 22.07.2014    source источник


Ответы (1)


Использование $(window).trigger('resize'); должно помочь.

person Sitsol    schedule 01.11.2014