【发布时间】:2009-06-22 22:54:08
【问题描述】:
有没有办法在点击 iPhone 按钮时制作自定义动画?我想要 App Store 按钮之类的东西 - 它显示价格,然后当您单击它时,它会改变颜色并且文本会变为现在购买,然后当您再次单击它时,它会完成购买。
UIViewAnimationTransition 仅包含一些不提供完整功能的值。是否可以使用动画来做这样的事情:
- (IBAction) changeButtonDisplay:(id)sender {
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:0.8];
[UIView setAnimationTransition:UIViewAnimationTransitionCurlDown forView:purchaseButton cache:NO]; //the built in UIViewAnimationTransition values don't provide enough flexibility
[purchaseButton setTitle:@"Buy Now" forState:UIControlStateNormal];
[purchaseButton setBackgroundColor:[UIColor greenColor]];
[purchaseButton addTarget:self action:@selector(purchaseItems:) forControlEvents:UIControlEventTouchUpInside];
[UIView commitAnimations];
}
此代码有效,将显示正确的过渡,并允许第二次单击以执行正确的操作,但标题和颜色会立即更改,而不是平滑的动画。是否可以轻松地制作这样的动画,我是否必须创建一个 UIButton 子类并“手动”制作动画?如果是这样,我必须重写什么方法?
【问题讨论】: