Как определить, что открыто окно UIImagePickerController или UIDocumentPickerController

#ios #objective-c #uiimagepickercontroller #uidocumentpickerviewcontroller

Вопрос:

Я показываю пользовательский вид наложения в своем приложении. Я нахожу окно ключа и добавляю свой пользовательский вид наложения в подпросмотр окна ключа. И я установил layer.zposition пользовательского представления наложения на 1.

Когда я открываю UIImagePickerController операционную UIDocumentPickerViewController , я ничего не могу коснуться (она ничего не работает, включая кнопку «Отмена UIImagePickerController «), и мой пользовательский вид наложения все еще существует.

Поэтому я пытаюсь обнаружить, что UIImagePickerController или UIDocumentPickerViewController окно открыто. И если он открыт, я сделаю слой.zposition моего пользовательского представления наложения ниже. И альбом будет тронут.

Как я могу получить событие, которое UIImagePickerController или UIDocumentPickerViewController открыто?

Ответ №1:

Существует два способа узнать, когда представлены эти контроллеры:

  1. Вы можете переопределить presentViewController:animated:completion: метод для вашего корневого контроллера представления, поскольку этот метод проверяет, является ли viewControllerToPresent тип класса UIImagePickerController или UIDocumentPickerViewController . и внесение необходимых изменений в представление оверлея.
  2. Я надеюсь, что вы представляете эти контроллеры только из своего исходного кода, в этом случае, прежде чем представлять эти контроллеры представления, вы можете внести необходимые изменения.

Комментарии:

1. Спасибо за ответ! Это сработало правильно