Как я могу использовать UIModalTransitionStylePartialCurl в UIView, который НЕ занимает весь экран?

В официальном приложении Apple Maps для iPhone в правом нижнем углу есть небольшая кнопка "загиб страницы". Когда вы его нажимаете, сама карта откручивается, открывая некоторые варианты. Я хотел бы продублировать этот эффект в моем собственном приложении.

Я пытаюсь использовать UIModalTransitionStylePartialCurl (добавлено в SDK 3.2). По своей компоновке мое приложение почти в точности напоминает официальное приложение Apple Maps. Я могу легко заставить ВЕСЬ экран отодвинуться, открывая другой вид внизу, но я не хочу этого. Я хочу, чтобы отклеивался ТОЛЬКО вид карты.

Чтобы создать этот эффект, у вас должен быть UIViewController, который будет выполнять переход. Если я установлю это представление UIViewController на небольшое подпредставление где-нибудь на экране, которое не занимает весь экран, я могу получить только это подпредставление, которое нужно откатить. Замечательно! Однако после второй части перехода (когда страница возвращается на место) представления никогда не будут там, где они были начаты. Либо вид, который откатился назад, переместится из своего исходного положения, либо вид, который был открыт, расширится, чтобы занять весь экран.

Есть ли какая-нибудь очевидная ошибка, которую я делаю? Буду очень признателен за любую помощь!

Я использую очень простой код. В основном это просто:

underMapViewController.modalTransitionStyle = UIModalTransitionStylePartialCurl;

[curlableMapViewController presentModalViewController:underMapViewController animated:YES];
28
задан caecus314 3 October 2010 в 22:52
поделиться