Alp*_*pár 12 video movie avfoundation ios
每当我更改AVPlayerLayer的帧时,视频不会立即调整大小,而是动画为新大小.
例如:我将帧从(0,0,100,100)更改为(0,0,400,400),视图的帧立即更改,但视频的大小设置为新大小.
有没有人遇到过这个问题?如果有,是否有人知道禁用默认动画的方法?
谢谢!
djr*_*ero 22
您可以尝试禁用隐式操作并使用零长度动画:
CALayer *videolayer = <# AVPlayerLayer #>
[CATransaction begin];
[CATransaction setAnimationDuration:0];
[CATransaction setDisableActions:YES];
CGRect rect = videolayer.bounds;
rect.size.width /= 3;
rect.size.height /= 3;
videolayer.bounds = rect;
[CATransaction commit];
Run Code Online (Sandbox Code Playgroud)
小智 5
这是我使用的:
AVPlayerLayer * playerLayer = <# AVPlayerLayer #>;
playerLayer.frame = <# CGRect #>;
[playerLayer removeAllAnimations];
Run Code Online (Sandbox Code Playgroud)
我希望这有帮助。我不知道它的最佳做法,但是对我有用。似乎无论何时使用“ .frame”或“ setFrame”,它都会向该图层添加动画。
| 归档时间: |
|
| 查看次数: |
5529 次 |
| 最近记录: |