2012-06-05 2 views
1

Я хочу создать анимацию «разворачиваться» в UIView, которая появляется на экране. Пример анимации можно посмотреть в this YouTube video, которая рассматривает приложение SuperList (другой пример анимации можно просмотреть на странице приложения App Store в разделе скриншотов).Бумага «Unfold» Анимация на UIView

Paper 'Unfold' Animation

У меня есть довольно хорошее представление о Core Animation и Objective C, таким образом, с какао и Cocoa Touch. Приложение будет поддерживать версии 5.x и 4.x iOS, поэтому, если это возможно, я бы предпочел решение, которое подходит для обоих случаев.

Более того, я задал этот вопрос примерно тысячу раз и не получил никаких ответов, поэтому помощь будет высоко оценена. Спасибо, iLyrical.

+0

Вы ищете анимацию завитка страницы. Стратегии для этого можно найти в вопросе [Частичная завивка страницы] (http://stackoverflow.com/questions/1681315/partial-page-curl-animation). –

+0

Я знаком с подобной анимацией, но по мере того, как видео демонстрирует, я хочу «отменить» эту анимацию и создать эффект «разворачивания». Кажется, что страница падает на стол. – Itamar

+0

Разве вы не можете использовать только 'pageUnCurl' половину переходной анимации в этом случае, как описано TheRonin в его ответе? –

ответ

2

По-видимому, эффект «UnCurl» встроен в каркас и является вашим использованием! Все, что вам нужно сделать, это использовать animateWithDuration: animation: метод UIView класса и включает в себя анимацию следующим образом:

[UIView animateWithDuration:1.0 
        animations:^{ 
         CATransition *transition = [CATransition animation]; 
         [transition setDelegate:self]; 
         [transition setDuration:0.7]; 
         [transition setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseIn]]; 
         [transition setType:@"pageUnCurl"]; 
         [self.view.layer addAnimation:transition forKey:@"pageUnCurl"]; 
         [self.view addSubview:someView.view]; 
        }]; 

Примечание изображения (белая полоса) в этом случае имеет прозрачную секцию (все стороны) и, таким образом, когда uncurl бывает, похоже, что только белая часть разворачивается.

+0

, также известный как «использование частного API» –

+0

@MatthiasBauch Вы на 100% уверены? Тогда как приложение, указанное выше, использует его? – Itamar

+0

обычно вы должны использовать константу типа 'kCATransitionFade' для' setType: '. Если вам нужно использовать NSString, вы используете частный API. Не имеет значения, что другие приложения также используют частный API. Попробуйте и посмотрите, сможете ли вы получить свое приложение через обзор. –

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