kit*_*oop 5 iphone uiview cgaffinetransform ipad ios
我想创建一个动画,同时移动和旋转UIView.我尝试了以下代码:
[UIView beginAnimations:@"MoveAndRotateAnimation" context:nil];
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
[UIView setAnimationDuration:kAnimationDuration];
myView.frame = newFrame;
myView.transform = CGAffineTransformMakeRotation(0.4);
[UIView commitAnimations];
Run Code Online (Sandbox Code Playgroud)
结果是,在动画完成后,视图绘制不正确(某些部分不再可见).如果我只更改帧或动画的变换,则视图会正确绘制.如果我同时设置框架和转换,则只会出现此问题.
同时为视图移动和旋转动画的正确方法是什么?
如果您还要为旋转等动画制作动画,则无法使用边框,边界或居中.您需要对所有内容使用CGAffineTransforms并将它们连接在一起.像这样:
CGAffineTransform transform = CGAffineTransformMakeTranslation(100,100);
transform = CGAffineTransformRotate(transform, 0.4);
[UIView beginAnimations:@"MoveAndRotateAnimation" context:nil];
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
[UIView setAnimationDuration:kAnimationDuration];
myView.transform = transform;
[UIView commitAnimations];
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
6680 次 |
最近记录: |