IOS: особый эффект флип - как приложение Ipod - PullRequest
1 голос
/ 03 января 2011

Итак, последние 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 и все?

У кого-нибудь есть идеи, которые могли бы указать мне правильное направление? (Извините за длинный пост, и спасибо за любой вклад!)

1 Ответ

0 голосов
/ 03 января 2011

Я думаю, вы пытаетесь сделать что-то похожее на эту тему: Как сделать анимацию пролистывания между более чем двумя UIViews? ?

...