Die Größe der AVPlayer-Ebene in einer Ansicht wird nicht geändert, wenn sich der UIView-Frame ändert
Ich habe einUIView
welches ein enthältAVPlayer
um ein Video zu zeigen. Wenn ich die Ausrichtung ändere, muss ich die Größe und Position des Videos ändern.
Ich habe keine große Erfahrung mit der Größenänderung von Ebenen, daher habe ich Probleme, die Größe des Videos zu ändern.
Ich beginne mit der Erstellung derAVPlayer
und füge seinen Player zu der Ebene meines videoHolderView hinzu:
<code>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; </code>
Dann ändere ich zu einem späteren Zeitpunkt die Größe und Position des videoHolderView-Frames:
<code>[videoHolderView setFrame:CGRectMake(0, 0, 768, 502)]; </code>
Zu diesem Zeitpunkt muss der avPlayer die Größe auf dieselbe Dimension ändern. Dies geschieht nicht automatisch - der avPlayer bleibt im videoHolderView klein.
Wenn jemand helfen kann, würde ich mich über jeden Rat sehr freuen.
Danke Leute.