В 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
при использовании пользовательских элементов управления камерой, с целью сделать фотографию?
Если вам интересно, зачем мне использовать пользовательские элементы управления камерой,это потому, что я хочу иметь возможность делать несколько фотографий, которые не позволяют стандартные элементы управления камерой.