Реализация функции скручивания страницы

Я создаю приложение карты, похожее на приложение карты iphone. Мне нужна функция скручивания страницы, такая же, как в приложении карты. Нужна помощь в этом случае.


person Xavi Valero    schedule 09.12.2011    source источник
comment
дубликат stackoverflow.com/q/2863049/1081831 и stackoverflow.com/q/6001830/1081831   -  person Mutix    schedule 09.12.2011


Ответы (2)


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

Как указано в предыдущих ответах на подобные вопросы, вам просто нужно представить контроллер модального представления с помощью UIModalTransitionStylePartialCurl :

Когда представлен контроллер представления, один угол текущего представления скручивается, открывая модальное представление внизу. При закрытии свернутая страница разворачивается обратно поверх модального окна. Модальное представление, представленное с использованием этого перехода, само по себе не может представлять какие-либо дополнительные модальные представления.

Этот стиль перехода поддерживается только в том случае, если родительский контроллер представления представляет полноэкранное представление, и вы используете модальный стиль представления UIModalPresentationFullScreen. Попытка использовать другой форм-фактор для родительского представления или другой стиль представления вызывает исключение.

Справочник по классу UIViewController

person Mutix    schedule 09.12.2011

Apple использует частные API для частичного скручивания страницы. Если вам нужна анимация частичного скручивания страницы, как в приложении «Карты», вы можете использовать анимацию типа:

animation.type = @"pageCurl";

Если вы не ориентируетесь на магазин приложений, вы, вероятно, можете использовать это. Самостоятельное применение частичного скручивания страницы было бы утомительной задачей и потребовало бы продвинутых материалов Core Animation и Open GL.

Но, если вам просто нужен нормальный полный скручивание страницы, а не частичный, вы можете использовать этот задокументированный метод:

+ (void)setAnimationTransition:(UIViewAnimationTransition)transition forView:(UIView *)view cache:(BOOL)cache; 

и установите переход как:

UIViewAnimationTransitionCurlUp/UIViewAnimationTransitionCurlDown
person Bani Uppal    schedule 09.12.2011