Как сделать фотографию на событие увеличения громкости при использовании UIImagePickerController с пользовательскими элементами управления камерой?
В iOS 5 кнопка увеличения громкости теперь делает снимок в приложении камеры, а наUIImagePickerController
экземпляр, где.showsCameraControlls == YES
, Счастливые дни.
Тем не менее, когда я установилshowsCameraControlls
вNO
и поставьте свой собственный (который в свою очередь вызываетtakePicture
метод), кнопка увеличения громкости больше не будет работать. Как я могу обнаружить событие громкости во время отображения UIImagePickerController?
Старый способ обнаружения изменений громкости был таким:
AudioSessionSetActive(true);
[[NSNotificationCenter defaultCenter]
addObserver:self
selector:@selector(volumeChanged:)
name:@"AVSystemController_SystemVolumeDidChangeNotification"
object:nil];
Я добавил этот код в мой делегат приложения. странноvolumeChanged:
не срабатывает, пока я не покажуUIImagePickerController
в первый раз. Что еще более важно, он не запускается, когда UIImagePickerController виден (и не показан обычный HUD тома), я полагаю, поскольку Apple отключила его и захватила событие.
Итак, еще раз, есть ли способ обнаружить событие кнопки увеличения громкости, в то время какUIImagePickerController
отображается при использовании пользовательских элементов управления камерой, чтобы сделать фотографию?
Если вам интересно, почему мне нужно использовать пользовательские элементы управления камерой, это потому, что я хочу иметь возможность делать несколько фотографий, которые не позволяют стандартные элементы управления камерой.