У меня есть UIView
, который содержит AVPlayer
для показа видео. При изменении ориентации мне нужно изменить размер и расположение видео.
Я не очень разбираюсь в изменении размеров слоев, поэтому у меня возникают проблемы с изменением размера видео.
Я начинаю с создания AVPlayer
и добавления его игрока в свой слой videoHolderView:
NSURL *videoURL = [NSURL fileURLWithPath:videoPath];
self.avPlayer = [AVPlayer playerWithURL:videoURL];
AVPlayerLayer* playerLayer = [AVPlayerLayer playerLayerWithPlayer:self.avPlayer];
playerLayer.frame = videoHolderView.bounds;
playerLayer.videoGravity = AVLayerVideoGravityResizeAspect;
playerLayer.needsDisplayOnBoundsChange = YES;
[videoHolderView.layer addSublayer:playerLayer];
videoHolderView.layer.needsDisplayOnBoundsChange = YES;
Затем, в более позднем пункте, я изменяю размер и расположение кадра videoHolderView:
[videoHolderView setFrame:CGRectMake(0, 0, 768, 502)];
В этот момент мне нужно, чтобы avPlayer изменил размер до такого же размера. Это происходит не автоматически - avPlayer остается в этом небольшом размере в видеохолдинге.
Если кто-то может помочь, я бы очень признателен за любые советы.
Спасибо, ребята.