我的一个 ViewController 中有一个 UIButton,其中包含三个不同的状态图像(正常、突出显示和选中)。当我按下此按钮时,它会突出显示,当我释放它时,它会被选中。我想制作一个动画,在 4 秒内使用 fadeIn 左右将按钮的突出显示图像更改为选定的图像。
有什么建议吗?
我的一个 ViewController 中有一个 UIButton,其中包含三个不同的状态图像(正常、突出显示和选中)。当我按下此按钮时,它会突出显示,当我释放它时,它会被选中。我想制作一个动画,在 4 秒内使用 fadeIn 左右将按钮的突出显示图像更改为选定的图像。
有什么建议吗?
尝试UIView transitionWithView
首先将正常和选定图像设置为UIButton
,然后在动作处理程序中为更改设置动画:
[UIView transitionWithView:self.addListButton
duration:0.3
options:UIViewAnimationOptionTransitionCrossDissolve
animations:^{
[self.addListButton setSelected:YES];
} completion:nil];
我不想改变的状态UIButton
所以我只是改变了动画块中的正常图像:
[self.addListButton setImage:[UIImage imageNamed:@"icon-addbutton.png"]
forState:UIControlStateNormal];
您必须注册自己的UIButton
子类,并且可能必须使用自定义动画代码覆盖setSelected
和覆盖。setHighlighted
更安全的选择是UIControl
直接子类化并重新实现这些选择器,这样您就没有任何UIButton
特定的遗产。