Я хотел сделать то же самое - повернуть кнопку на 180 градусов при нажатии - но сделать это с помощью анимации. Ответ Neurofluxation делает поворот на 180 градусов с анимацией, но он не является постоянным. Ответ Macmade делает поворот на 180 градусов, но не делает это с анимацией. Поэтому, если вы похожи на меня и хотите сделать поворот на 180 градусов с анимацией, используйте этот код:
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:0.35];
// (180 * M_PI) / 180 == M_PI, so just use M_PI
myButton.transform = CGAffineTransformMakeRotation(M_PI);
[UIView commitAnimations];
Также, если вы хотите повернуть обратно в начальное положение (то есть вращение на 0 градусов), поместите следующее между анимационным кодом, как показано выше:
myButton.transform = CGAffineTransformMakeRotation(0);
Что касается варианта использования такой кнопки, кнопка Evernote «Показать / скрыть клавиатуру» выполняет действительно плавное вращение на 180 градусов, которое можно воссоздать с помощью приведенного выше кода.