Уровень AVPlayer внутри представления не изменяет размер при изменении кадра UIView.

У меня есть 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 остается в своем маленьком размере в пределах videoHolderView.

Если кто-то может помочь, буду признателен за любой совет.

Спасибо, ребята.

52
задан Jay Bhalani 8 March 2016 в 04:35
поделиться