2014-02-11 299 views
0

我正在写一个应用程序在Xcode中,我有一个按钮,当按下更改颜色。我想在按下时将按钮翻转并改变其颜色,例如从红色变为绿色。我会如何去做这件事?触摸UIButton触摸

+0

谷歌 “'UIView'块动画” 和 “'CGAffineTransform'参考”。 – 2014-02-11 00:07:57

回答

0

最简单的方法是使用过渡动画。

[UIView beginAnimations:nil context:nil]; 
// self.b is a UIButton; _red is a BOOL ivar 
[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromLeft 
         forView:self.b cache:YES]; 
[self.b setBackgroundColor:(_red ? [UIColor greenColor] : [UIColor redColor])]; 
_red = !_red; 
[UIView commitAnimations]; 

您必须修复该代码才能更改与您真正想要更改的按钮有关的任何内容;它可能不是背景颜色。

+0

谢谢,我得到它的工作 – Actionman

2

@马特解夫特#

UIView.beginAnimations(nil, context: nil) 
UIView.setAnimationTransition(UIViewAnimationTransition.FlipFromLeft, forView: self.myButton, cache: true) 
self.myButton.backgroundColor = myBOOL ? UIColor.greenColor() : UIColor.redColor() 
self.myButton.setTitleColor(myBOOL ? UIColor.redColor() : UIColor.greenColor(), forState: UIControlState.Normal) 
myBOOL = !myBOOL 
UIView.commitAnimations() 

FlipButton_Swift

+0

虽然这可能在理论上回答这个问题,[这将是更可取的](/ meta.stackoverflow.com/q/8259)包括答案的基本部分在这里,并提供链接以供参考。 –

+0

@BhargavRao完成:) –

+0

谢谢你的 –