将选择动画添加到UIButton

ser*_*g90 5 animation objective-c uibutton touch-up-inside

我在我的一个ViewControllers中有一个UIButton,它有三个不同的状态图像(正常,突出显示和选中).当我按下此按钮时,它会突出显示,当我释放它时,会被选中.我想制作一个动画,使用fadeIn左右,在4秒内将按钮的高亮显示图像更改为所选按钮.

有什么建议吗?

Mar*_*uro 9

首先尝试UIView transitionWithView普通图像和所选图像设置为UIButton,然后在动作处理程序中为变化设置动画:

[UIView transitionWithView:self.addListButton
                  duration:0.3
                   options:UIViewAnimationOptionTransitionCrossDissolve
                animations:^{
                    [self.addListButton setSelected:YES];
                } completion:nil];
Run Code Online (Sandbox Code Playgroud)

我不想改变状态,UIButton所以我只是改变了动画块中的正常图像:

[self.addListButton setImage:[UIImage imageNamed:@"icon-addbutton.png"]
    forState:UIControlStateNormal];
Run Code Online (Sandbox Code Playgroud)


Bar*_*ski 2

您必须注册自己的UIButton子类,并且可能必须使用自定义动画代码覆盖setSelected和。setHighlighted更安全的选择是UIControl直接子类化并重新实现这些选择器,这样您就没有任何UIButton特定的遗留问题。