ios imagepickerview取消按钮功能

时间:2013-02-21 18:56:09

标签: ios objective-c image camera uiimagepickercontroller

我的取消按钮正在拉动相机胶卷。如何删除它。

-  (void)cameraButtonClick:(id)sender {
        mediaPicker = [[UIImagePickerController alloc] init];
        //[mediaPicker setDelegate:self];
        mediaPicker.allowsEditing = YES;
        if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]) {
            UIActionSheet *actionSheet = [[UIActionSheet alloc] initWithTitle:nil
                                                                     delegate:self
                                                            cancelButtonTitle:@"Cancel"
                                                       destructiveButtonTitle:nil
                                                            otherButtonTitles:@"Take photo", @"Choose Existing", nil];
            [actionSheet showInView:self.view];
        }
        // If device doesn't has a camera, Only "Choose Existing" option will show up.
        else {
            UIActionSheet *actionSheet = [[UIActionSheet alloc] initWithTitle:nil
                                                                     delegate:self
                                                            cancelButtonTitle:@"Cancel"
                                                       destructiveButtonTitle:nil
                                                            otherButtonTitles:@"Choose Existing", nil];
            [actionSheet showInView:self.view];

        }
    }


- (void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex {

        if([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]){
            if (buttonIndex == 0) {
                [capture showImagePicker:self.navigationController popoverRect:CGRectMake(0.0f, 0.0f, 0.0f, 0.0f)];
            } else if (buttonIndex == 1) {
                capture     = [[VFPhotoCaptureController alloc] init];
            } 
        }
        else{
            if (buttonIndex == 0) {
                capture     = [[VFPhotoCaptureController alloc] init];
            }

        }
        [self presentModalViewController:mediaPicker animated:YES];
    }

    - (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker {
        [picker dismissModalViewControllerAnimated:YES];
    }

1 个答案:

答案 0 :(得分:0)

您需要更好的操作表按钮处理:

- (void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex {
    if (buttonIndex != actionSheet.cancelButtonIndex) {
        if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]) {
            if (buttonIndex == actionSheet.firstOtherButtonIndex) {
                [capture showImagePicker:self.navigationController popoverRect:CGRectMake(0.0f, 0.0f, 0.0f, 0.0f)];
            } else if (buttonIndex == actionSheet.firstOtherButtonIndex + 1) {
                capture = [[VFPhotoCaptureController alloc] init];
            } 
        } else {
            if (buttonIndex == actionSheet.firstOtherButtonIndex) {
                capture = [[VFPhotoCaptureController alloc] init];
            }
        }

        [self presentModalViewController:mediaPicker animated:YES];
    }
}