Итак, последние 2 дня я искал ответ на этот вопрос, и мне кажется, что я не могу его найти.
Эффект, который я пытаюсь воспроизвести, лучше объяснить на реальном примере: в приложении ipod (на любом iphone) в режиме воспроизведения, когда вы нажимаете верхнюю правую кнопку, он переключается между обложками альбомов с некоторыми элементами управления и список альбомов с рейтингом. Обратите внимание, что сама кнопка тоже переворачивается и одновременно с изображением контейнера ниже. Я не могу заставить это работать:
[UIView transitionWithView:self.container1
duration:1
options:UIViewAnimationOptionTransitionFlipFromLeft
animations:^{
if ([flipView superview])
{
[self.flipView removeFromSuperview];
[self.container1 addSubview:coverView];
}
else
{
[self.coverView removeFromSuperview];
[self.container1 addSubview:flipView];
}
}
completion:NULL];
[UIView transitionWithView:self.container2
duration:1
options:UIViewAnimationOptionTransitionFlipFromLeft
animations:^{
if ([flipped superview])
{
[self.flipped removeFromSuperview];
[self.container2 addSubview:original];
}
else
{
[self.original removeFromSuperview];
[self.container2 addSubview:flipped];
}
}
completion:NULL];
У меня 2 проблемы с этим кодом:
- Хотя это может быть довольно легко, так как я нуб, я не знаю, как я могу перевернуть его влево в первой анимации и вправо во второй. Таким образом, он всегда переворачивается на левую сторону;
- «original» и «flipped» являются экземплярами класса UIButton. Приложение вылетает, когда я нажимаю кнопку (я думаю, потому что они UIButton, так как с UIImageView это работает нормально). Почему проблема в том, что UIButton наследует от UIView и все?
У кого-нибудь есть идеи, которые могли бы указать мне правильное направление?
(Извините за длинный пост, и спасибо за любой вклад!)