这个相关的SO 问题确实显示了与我自己类似的问题,但提供的答案并不能解决我的问题。
我有一个刷新按钮,当它被点击时我会动画。这是一个 UIBarButtonItem,在故事板中创建,我用来创建的图像是:
AFAIK - 图像是方形的,描绘的圆圈居中且真实。
当我点击图像时,我称之为动画代码:
#define DEGREES_TO_RADIANS(angle) ((angle) / 180.0 * M_PI)
- (void)animateRefreshButton;
{
UIBarButtonItem *item = self.refreshButton;
UIView *view = [item valueForKey:@"view"];
[UIView animateWithDuration:0.5 delay:0.3 options:UIViewAnimationOptionCurveEaseInOut animations: ^
{
view.transform = CGAffineTransformMakeRotation(DEGREES_TO_RADIANS(180));
} completion: ^(BOOL finished)
{
view.transform = CGAffineTransformMakeRotation(DEGREES_TO_RADIANS(0));
}];
}
然而,动画“跳跃”并且它也影响了标题。见动图:
我已经尝试了很多东西,但上面的视频是关于我能得到的最好的动画。我尝试过的事情包括:
- 将图像添加到按钮的自定义视图并为其设置动画。
- 调整图像插图(但在每个设备和旋转上都不同)
- 调整图像本身的大小以匹配导航栏“变成”的大小,大约 50x30
- 应用不同的动画块来尝试掩盖“跳跃”(可怕)
如果有人有类似的问题并解决了它,那么任何指针都会很棒
另外,如果我对我正在使用的技术有误导,请告诉我。
我确实检查了图像,看起来不错,但那里的人可能知道得更好。