2014-02-11 3 views
0

Я пишу приложение в xcode, и у меня есть кнопка, которая при нажатии меняет цвета. Я хочу, чтобы кнопка нажала кнопку и изменила ее цвет, например, с красного на зеленый. Как мне это сделать?Flipping UIButton On Touch

+0

гугле "' UIView' блок анимации" и "'CGAffineTransform' ссылки". –

ответ

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

@ Matt решение для Swift #

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 Done :) –

+0

Спасибо за это –