#ios #objective-c #uiimagepickercontroller #uidocumentpickerviewcontroller
Вопрос:
Я показываю пользовательский вид наложения в своем приложении. Я нахожу окно ключа и добавляю свой пользовательский вид наложения в подпросмотр окна ключа. И я установил layer.zposition пользовательского представления наложения на 1.
Когда я открываю UIImagePickerController
операционную UIDocumentPickerViewController
, я ничего не могу коснуться (она ничего не работает, включая кнопку «Отмена UIImagePickerController
«), и мой пользовательский вид наложения все еще существует.
Поэтому я пытаюсь обнаружить, что UIImagePickerController
или UIDocumentPickerViewController
окно открыто. И если он открыт, я сделаю слой.zposition моего пользовательского представления наложения ниже. И альбом будет тронут.
Как я могу получить событие, которое UIImagePickerController
или UIDocumentPickerViewController
открыто?
Ответ №1:
Существует два способа узнать, когда представлены эти контроллеры:
- Вы можете переопределить
presentViewController:animated:completion:
метод для вашего корневого контроллера представления, поскольку этот метод проверяет, является лиviewControllerToPresent
тип классаUIImagePickerController
илиUIDocumentPickerViewController
. и внесение необходимых изменений в представление оверлея. - Я надеюсь, что вы представляете эти контроллеры только из своего исходного кода, в этом случае, прежде чем представлять эти контроллеры представления, вы можете внести необходимые изменения.
Комментарии:
1. Спасибо за ответ! Это сработало правильно