Touch-To-Focus на камеру OverlayView в iOS 5? - PullRequest
3 голосов
/ 02 ноября 2011

Раньше у меня было прикосновение, чтобы сфокусироваться на моем cameraOverlayViewUIImagePickerController), но после обновления до iOS 5 он не работает.

Я использовал пользовательский класс представления, который я применил к своему представлению в cameraOverlayView. Я убедился, что все связано и применяется в Интерфейсном Разработчике. Я не хочу показывать элементы управления камерой. (imagePicker.showsCameraControlls = NO).

Это мой код в классе OverlayView:

-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {

    UIView * previewView = [[[[[[[[[[
                                     self.picker.view // UILayoutContainerView
                                     subviews] objectAtIndex:0] // UINavigationTransitionView
                                   subviews] objectAtIndex:0] // UIViewControllerWrapperView
                                 subviews] objectAtIndex:0] // UIView

           subviews] objectAtIndex:0] // PLCameraView
                             subviews] objectAtIndex:0]; // PLPreviewView
    [previewView touchesBegan:touches withEvent:event];
    NSLog(@"Should Focus");
}

У вас, ребята, есть другой метод касания к фокусу на оверлее?

Или вы знаете, как это исправить?

СПАСИБО НАДЕЖНО!

1 Ответ

0 голосов
/ 18 ноября 2011

, поскольку события касания ios5.0 не перенаправляются в представление в свойстве cameraOverlayView UIImagePickerController.

измените код инициализации следующим образом:

// self.cameraOverlayView = [[UIView alloc] init];
// [self.cameraOverlayView addSubview:previewView];

[self.view addSubview:mask];
[self.view bringSubviewToFront:previewView];
...