Hes*_*gid 0 core-animation ios
我要做的是左右旋转视图,同时上下移动它的位置.
这是我的代码:
CGAffineTransform leftWobble = CGAffineTransformRotate(CGAffineTransformIdentity, RADIANS(-12.0));
CGAffineTransform rightWobble = CGAffineTransformRotate(CGAffineTransformIdentity, RADIANS(12.0));
flyingGuy.transform = leftWobble; // starting point
[UIView beginAnimations:@"wobble" context:flyingGuy];
[UIView setAnimationRepeatAutoreverses:YES];
[UIView setAnimationRepeatCount:1000];
[UIView setAnimationDuration:1.3];
[UIView setAnimationDelegate:self];
[UIView setAnimationDidStopSelector:@selector(wobbleEnded:finished:context:)];
flyingGuy.transform = rightWobble;
CGRect frame = flyingGuy.frame;
frame.origin.y += 10;
[flyingGuy setFrame:frame];
[UIView commitAnimations];
- (void)wobbleEnded:(NSString *)animationID finished:(NSNumber *)finished context:(void *)context {
if ([finished boolValue]) {
UIView* item = (UIView *)context;
item.transform = CGAffineTransformIdentity;
}
}
Run Code Online (Sandbox Code Playgroud)
使用当前代码,视图大小在向上或向下移动时会发生变化.有什么建议?
设置转换后,请勿设置或获取帧!
来自文档:
警告如果
transform属性不是标识转换,则此属性的值未定义,因此应忽略.
更改center视图的属性.您只是在改变位置,并且在应用变换时这是安全的.
| 归档时间: |
|
| 查看次数: |
300 次 |
| 最近记录: |