2012-02-18 4 views
2

Я пытаюсь перейти от одного к другому UIView с помощьюКак Apple делает анимацию iBooks 2 карточек?

[UIView transitionFromView:self.frontsideCardView 
        toView:self.backsideCardView 
        duration:kFlipCardAnimationDuration 
        options:UIViewAnimationOptionTransitionFlipFromTop 
       completion:completion]; 

Проблема заключается в том, что анимация становится лага, когда я включаю CALayer тени и закругленные углы на двух взглядов. Поэтому я просмотрел приложения Apple, чтобы убедиться, что они сделали что-то подобное, и я обнаружил, что приложение iBooks 2 работает. Вы можете изучать карточки там, и если вы нажимаете на карты, они плавно перевернуты. И из того, что я вижу, они также используют закругленные углы и тени.

То, что я заметил, что в моей анимации, взгляды не исчезают в черный цвет, а листать - в интерактивных книгах это не произошло:

iBooks animates so smoothly! My app doesn't :(

(для примера, я удалил все с точки зрения, в противном случае это просто анимация со скоростью 10 кадров в секунду)

Любые идеи, что Apple сделала для создания такой плавной анимации?

ответ

2

Они используют изображения, написанные на простых старых взглядах. Ставлю. Простейший, быстрый способ сделать это.

+0

Спасибо за предложение. Я попытался использовать 'UIImageView' с прозрачным изображением, но он все еще отставал. – fabian789

+0

действительно? Любопытно - какое свойство вы оживили? кадр или преобразование? Вы отменили все модификации слоя? Насколько велика была фотография? (изображения с растяжимыми регионами могут обеспечить большой выигрыш в перфомансе). – NetworkBurger

+0

Изображение было очень маленьким, и я использовал растяжимые области. Я думаю, проблема заключалась в том, что у нее были закругленные углы и прозрачность. Для анимации я использовал метод класса UIView. – fabian789

2

Существует пример, который относится к прокручиванию в Lion, который вы, вероятно, можете адаптировать для вашего использования: https://developer.apple.com/library/mac/samplecode/PictureSwiper. В основном, вы делаете снимок страниц до и после вашего, кладите их в слои скрытым видом, который находится поверх вашего, а затем показывайте представление и анимируйте слои во время прокрутки. Когда прокрутка завершена, вы скрываете представление и повторяете изображения. Весь этот процесс, вероятно, будет проще реализовать в ios, чем osx.

+0

Я не уверен, что вполне понимаю ваш ответ. Я бы хотел реализовать анимацию flipping, а не анимацию swiping. И все же спасибо за ссылку. – fabian789

Смежные вопросы