2014-03-27 35 views
0

该按钮后是一系列动画一个发光效果的图像,当按钮被按下,我想动画停止:禁用动画按钮被按下

[self.buttonHintdisabled setBackgroundImage: [UIImage animatedImageNamed:@"c" duration:3.0] forState: UIControlStateNormal]; 

这是如何完成的?

如果还有其他方法可以在按下按钮时禁用它的代码中执行此操作,请告诉我?

回答

1

我还没有试过这个UIButton,但我会给你一个想法,我会怎么做:

很多时候,我们设置了target我们UIButton

[self.buttonHintdisabled addTarget:self action:@selector(buttonPressed:) forControlEvents:UIControlEventTouchUpInside]; 

buttonPressed:,我们将执行我们希望做的时候什么该按钮被按下。

因此,考虑到这一点,除了要内buttonPressed做什么,你可以尝试:

[self.buttonHintdisabled setBackgroundImage:[UIImage imageNamed:@"c0.png"] forState:UIControlStateSelected]; 

一旦方法中的动作完成后,将其设置回用,你有什么以上:

[self.buttonHintdisabled setBackgroundImage:[UIImage animatedImageNamed:@"c" duration:3.0] forState: UIControlStateNormal];  
完全取代它的
+0

即时通讯思想......难道这就是我即将做可以接受的:当按下此动画按钮,我会setHidden,然后我会用灰色显示的UIImage更换相同的图片? – Jelter

+0

@Jelter当然,但设置隐藏按钮会隐藏按钮,以便当您用灰色图像替换它时,它不会显示;相反,我会建议设置'userInteractionEnabled = NO;'并将其替换为'UIButton'上的灰色图片,当您完成了您的操作后,将其设置回YES并将其替换为动画。 – Unheilig

+0

检查我做了什么Ive创建了一个名为disabledhintImage的新按钮插件,并且我将它设置在名为buttonHintdisabled的动画按钮后面,当单击该按钮的操作发生时,将其设置为setHidden,并在属性中取消选中启用inspector for disabledhintbutton,因此当动画图像被按下时,它隐藏起来并且其下面的按钮被禁用。它运行良好,但是当我加载我的游戏时,我会遇到Apple Inc和iTunes的问题吗? – Jelter

0

,如果你想使用选定的按钮状态(UIControlStateSelected)

加入这一行

[self.buttonHintdisabled setBackgroundImage: [UIImage imageNamed:@"selectedImage"] forState: UIControlStateSelected]; 

,然后在其行动

- (void)buttonClicked:(id)sender 
{ 
    [self.buttonHintdisabled setSelected:YES]; 
} 

,或者如果你可以只更换背景图片 - (void)buttonClicked:(id)发件人