3

我曾经有触摸专注于我的cameraOverlayView(in UIImagePickerController),但一旦我更新到 iOS 5,它就不起作用了。

我使用了一个自定义视图类,我将它应用到我的视图中cameraOverlayView。我确保一切都已连接并在 Interface Builder 中应用。我不想显示相机控件。( 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");
}

你们在叠加层上有不同​​的点击对焦方法吗?

或者你知道如何解决这个问题吗?

非常感谢您!

4

1 回答 1

-1

因为 ios5.0 触摸事件没有被转发到 UIImagePickerController 的 cameraOverlayView 属性中的视图。

请像这样更改您的初始化代码:

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

[self.view addSubview:mask];
[self.view bringSubviewToFront:previewView];
于 2011-11-18T05:48:48.487 回答