0

とにかく私のキャンセルボタンはカメラロールを引き上げています。どうすればそれを削除できますか。

-  (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];
    }
4

1 に答える 1

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];
    }
}
于 2013-02-21T19:04:56.353 に答える