модальное представление страницы / формы ipad больше не прозрачно в 4.2.1 - PullRequest
3 голосов
/ 25 ноября 2010

В моем приложении я использовал контроллеры модального представления страницы и формы, например:

quickTemplateViewer.modalPresentationStyle = UIModalPresentationPageSheet;
quickTemplateViewer.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
[parent presentModalViewController:myView animated:YES];

У меня есть кнопка закрытия со смещением, которая висит над видом в левом верхнем углу (вид немного меньше назначенного размера модального вида), и она работает хорошо, поскольку фон модального вида частично прозрачен.

Я обновился до 4.2.1, и вдруг вместо полупрозрачного черного фона с тенью у меня появился белый фон с закругленными углами. Есть ли новая настройка, чтобы вернуть его к прозрачному?

Спасибо

1 Ответ

1 голос
/ 27 ноября 2010

Я провел весь день в поисках решения по этому вопросу, и в конце концов сдался и сделал свое собственное решение.

По сути, вместо того, чтобы загружать свой «модальный» с presentModalViewController, я просто добавил полноразмерное представление с черным backgroundColor с непрозрачностью 80%, чтобы оно показывало изображение немного затемненным.

Внутри этого представления я добавил представление, которое обычно загружается с presentModalViewController с соответствующими координатами X & Y. таким образом, вы имитируете поведение UIModalPresentationPageSheet: вы получаете затемненный фон, и пользователь не может использовать любой UIControl, который находится под ним.

это, вероятно, не лучшая реализация, но это лучшее, что я мог придумать. Надеюсь, что-то подобное сработает у вас, ребята.

- ОБНОВЛЕНИЕ

Майк спросил, как я реализовал анимацию, которая обычно идет с модалом. По сути, я использовал UIView animationTransition:

[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:0.5];
[UIView setAnimationTransition:
   UIViewAnimationTransitionFlipFromLeft forView:anotherView cache:YES];
[mainContainer addSubview:modal.view];
[UIView commitAnimations];
...