Я провел весь день в поисках решения по этому вопросу, и в конце концов сдался и сделал свое собственное решение.
По сути, вместо того, чтобы загружать свой «модальный» с 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];