Immer wenn ich den Rahmen von AVPlayerLayer ändere, wird das Video nicht sofort skaliert, sondern auf die neue Größe animiert.
Beispiel: Ich ändere den Rahmen von (0, 0, 100, 100) in (0, 0, 400, 400), der Rahmen der Ansicht wird sofort geändert, aber die Größe des Videos wird auf die neue Größe animiert.
Ist jemand auf dieses Problem gestoßen? Und wenn ja, kennt jemand eine Möglichkeit, die Standardanimation zu deaktivieren?
Danke!
Das habe ich benutzt:
%Vor%Ich hoffe, das hilft. Ich weiß nicht, ob es Best Practices gibt, aber es funktioniert für mich. Es scheint, dass, wenn ".frame" oder "setFrame" verwendet wird, Animationen zur Ebene hinzugefügt werden.
Der einfachste und sauberste Weg, um damit fertig zu werden, besteht darin, eine UIView-Unterklasse mit AVPlayerLayer als LayerClass zu erstellen. Die AVPlayerLayer verhält sich dabei wie eine normale UIView-Ebene. Sie können den Rahmen der Ansicht anstelle der Ebene ändern, und es werden keine impliziten Animationen ausgeführt.
AVPlayerLayerView.h
%Vor%AVPlayerLayerView.m
%Vor%Sie können dies jetzt tun:
%Vor%Um den AVPlayerLayer mit einem AVPlayer zu verbinden, tun Sie dies einfach:
%Vor%Tags und Links ios video avfoundation movie