2012-08-09 192 views
5

我有一个UIButton在我的ViewControllers中有三个不同的状态图像(正常,突出显示和选择)。当我按下这个按钮时,它变得突出显示,当我释放它时,选中。我想制作一个动画,在4秒内用淡入或淡出将按钮突出显示的图像更改为选定的图像。添加选择动画到一个UIButton

有什么建议吗?

回答

2

您必须注册您自己的UIButton子类,您可能需要用自定义动画代码覆盖setSelectedsetHighlighted。更安全的赌注是直接子类UIControl并重新实​​现这些选择器,以便您没有任何UIButton特定的遗留问题。

9

正常选择首先将图像设置为UIButton尝试UIView transitionWithView,然后在动作处理动画的变化:

[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];