3

我想在用户点击屏幕后立即释放快门。我有用于以全屏模式显示相机的工作代码。如何通过触摸触发快门?

- (IBAction) 拍照
{
    如果(!self.imgPicker){
        self.imgPicker = [[UIImagePickerController alloc] init];
        self.imgPicker.allowsEditing = 否;
        self.imgPicker.delegate = self;
    }

    if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera])
    {
        self.imgPicker.sourceType = UIImagePickerControllerSourceTypeCamera;
        self.imgPicker.showsCameraControls = 否;
        self.imgPicker.wantsFullScreenLayout = YES;

        CGAffineTransform cameraTransform = CGAffineTransformMakeScale(1.132, 1.132);
        self.imgPicker.cameraViewTransform = cameraTransform;

        UIView *headsUpView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 480, 320)];

        [self.imgPicker setCameraOverlayView:headsUpView];
    } 别的 {
        NSLog(@"相机不可用。");
        self.imgPicker.sourceType = UIImagePickerControllerSourceTypeSavedPhotosAlbum;  
    }

    [自我presentModalViewController:self.imgPicker动画:YES];
}
4

1 回答 1

2

您应该使用 takePicutre 方法,然后检测屏幕上的任何触摸。

http://developer.apple.com/iphone/library/documentation/UIKit/Reference/UIImagePickerController_Class/UIImagePickerController/UIImagePickerController.html#//apple_ref/occ/instm/UIImagePickerController/takePicture

像这样的东西

-(void) touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event 
{
    UITouch *touch = [[event allTouches] anyObject];
    self.imgPicker.takePicture;
}
于 2010-07-28T21:24:35.597 回答