Вот мое решение:
Сначала вам нужно иметь представление, в котором вы будете устанавливать свои элементы управления (вы можете написать это в своем методе viewDidLoad):
UIView *miControllingView = [[UIView alloc]initWithFrame:CGRectMake(x,y,width,height)];
Затем вы реализуете слайдер со значениями от 1 до 5 (это увеличит размер моего изображения с 1x до 5x). Определите этот элемент в вашем .h файле, чтобы вы могли получить доступ к его значению во всем классе:
zoom = [[UISlider alloc]initWithFrame:CGRectMake(sliderX, sliderY, sliderWidth, sliderHeight)];
[zoom setMaximumValue:5];
[zoom setMinimumValue:1];
[zoom setContinuous:YES];
[zoom addTarget:self action:@selector(zoomChange) forControlEvents:UIControlEventValueChanged];
[myControllingView addSubview:zoom];
Затем вам нужно добавить свой управляющий вид к виду камеры с помощью этого:
[myPicker setCameraOverlayView:myControllingView];
Наконец, определите поведение селектора:
-(void)zoomChange{
[myPicker setCameraViewTransform:CGAffineTransformMakeScale([zoom value],[zoom value])];}
Это прекрасно работает для меня.
P.S. Я также скрываю элементы управления камерой, чтобы они выглядели аккуратно с этим:
myPicker.showsCameraControls = NO;