UIButton与UIButtonTypeCustom动画错误

时间:2009-12-08 03:58:05

标签: iphone objective-c cocoa-touch uibutton

因此,UIButtons的动画大小转换似乎存在问题。具体来说,如果你有一个UIButtonTypeCustom类型的按钮,任何帧大小转换都会立即发生。运动和其他动画正常发生。

有没有人对此有好的解决方法?我是猜测这是因为自定义按钮包含图像,当UIView计算其变换时出现问题。

This guy似乎找到了同样的问题,但没有解决方法。

这是一个例子。图像原点将在两秒内从0.0,0.0平滑移动到100.0,100.0,但尺寸会立即跳到200x200。

UIButton *tButton = [UIButton buttonWithType:UIButtonTypeCustom];
[tButton setBackgroundImage:tImage forState:UIControlStateNormal];
tButton.frame = CGRectMake(0.0, 0.0, 10.0, 10.0);

[UIView beginAnimations:nil context:NULL];
[UIView setAnimationBeginsFromCurrentState:YES];
[UIView setAnimationDuration:2.0];

tButton.frame = CGRectMake(100.0, 100.0, 200.0, 200.0);

[UIView commitAnimations];

1 个答案:

答案 0 :(得分:0)

这个答案会转到davbryn,但不是重新定义你使用的框架:

button.transform = CGAffineTransformMakeScale(1.5,1.5);

它不像使用新框架那么容易,所以你必须玩它,但它应该让你指向正确的方向。