2016-07-04 3 views
1

Я использую UIImagePickerController для отображения вида камеры, чтобы пользователь мог сделать снимок с помощью приложения. Тем не менее, я хотел бы отредактировать верхнюю панель камеры Viewer UIImagePickerController's. Я имею в виду панель, которая позволяет пользователю переключаться с такими параметрами, как вспышка и фронтальная камера.Доступ к верхней панели UIImagePickerController Вид камеры

Использование UIImagePickerController property cameraOverlayView Я могу получить доступ и изменить вид камеры. Однако мне было интересно, можно ли получить доступ к верхнему бару или найти его размеры. Это связано с тем, что если бы у меня был доступ к этому, было бы легче поддерживать мои пользовательские объекты просмотра, которые я буду добавлять (мне не нужно угадывать, где находится верхний бар).

Спасибо, любая помощь приветствуется.

+0

изменения переднему или задним и включению/отключения вспышки являются параметры по умолчанию, которые пришли автоматически, когда вы представите UIImagePickerController. – Lion

+0

@ Lion Да - Я также пытаюсь добавить пользовательскую кнопку таймера на верхнем баре. –

ответ

-1

Вы можете сделать что-то вроде этого,

self.pickerOverlayView = [[UIView alloc]initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height)]; 
UIButton *timerButton = [[UIButton alloc]initWithFrame:CGRectMake((self.view.frame.size.width/2) - 25, 10, 50, 30)]; 
[timerButton setTitle:@"Timer" forState:UIControlStateNormal]; 
[timerButton addTarget:self action:@selector(timerButtonclick:) forControlEvents:UIControlEventTouchUpInside]; 
[self.pickerOverlayView addSubview:timerButton]; 

picker.sourceType = UIImagePickerControllerSourceTypeCamera; 
[picker setCameraOverlayView:self.pickerOverlayView]; 

Сделать заказ OverlayView, а затем кнопку создать и добавить к этому OverlayView и установить эту точку зрения как cameraOverlayview вашего imagepickercontroller.

По вышеуказанному коду вы получите кнопку таймера в центре верхней панели диспетчера изображений.

pickerOverlayView является видом собственности uiview. И picker - UIImagePickerController объект.

timerButtonclick - это метод, с помощью которого вы можете справиться с выполнением желаемой задачи.

Надеется, что это поможет :)

+0

Я ценю вашу помощь, но, к сожалению, это не отвечает на мой вопрос. Я понимаю, что вы можете просто добавить такое перекрытие, но проблема связана с этим. Это связано с тем, что верхний бар будет меняться по ширине для каждого устройства, поэтому его будет сложно поддерживать для разных размеров экрана. Поэтому мне было интересно, есть ли какой-либо способ прямого доступа к верхней панели камеры UIImagePickerController или ее атрибутов. благодаря –