Я создаю приложение карты, похожее на приложение карты iphone. Мне нужна функция скручивания страницы, такая же, как в приложении карты. Нужна помощь в этом случае.
Реализация функции скручивания страницы
Ответы (2)
Я думаю, вы обнаружите, что на самом деле это довольно просто для частичного скручивания страницы:
Как указано в предыдущих ответах на подобные вопросы, вам просто нужно представить контроллер модального представления с помощью UIModalTransitionStylePartialCurl
:
Когда представлен контроллер представления, один угол текущего представления скручивается, открывая модальное представление внизу. При закрытии свернутая страница разворачивается обратно поверх модального окна. Модальное представление, представленное с использованием этого перехода, само по себе не может представлять какие-либо дополнительные модальные представления.
Этот стиль перехода поддерживается только в том случае, если родительский контроллер представления представляет полноэкранное представление, и вы используете модальный стиль представления UIModalPresentationFullScreen. Попытка использовать другой форм-фактор для родительского представления или другой стиль представления вызывает исключение.
Справочник по классу UIViewController
Apple использует частные API для частичного скручивания страницы. Если вам нужна анимация частичного скручивания страницы, как в приложении «Карты», вы можете использовать анимацию типа:
animation.type = @"pageCurl";
Если вы не ориентируетесь на магазин приложений, вы, вероятно, можете использовать это. Самостоятельное применение частичного скручивания страницы было бы утомительной задачей и потребовало бы продвинутых материалов Core Animation и Open GL.
Но, если вам просто нужен нормальный полный скручивание страницы, а не частичный, вы можете использовать этот задокументированный метод:
+ (void)setAnimationTransition:(UIViewAnimationTransition)transition forView:(UIView *)view cache:(BOOL)cache;
и установите переход как:
UIViewAnimationTransitionCurlUp/UIViewAnimationTransitionCurlDown