1

これは、カメラから表示して保存する方法です。

-(IBAction)Camera:(id)sender{
    if ([UIImagePickerController isSourceTypeAvailable:
         UIImagePickerControllerSourceTypeCamera])
    {
        UIImagePickerController *imagePicker = [[UIImagePickerController alloc] init];
        imagePicker.delegate = self;
        imagePicker.sourceType = UIImagePickerControllerSourceTypeCamera;
        imagePicker.mediaTypes = [NSArray arrayWithObjects: (NSString *) kUTTypeImage,nil];
        imagePicker.allowsEditing = NO;
        [self presentModalViewController:imagePicker animated:YES];

        newMedia = YES;
    }
}

-(void) imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {

    [self dismissModalViewControllerAnimated:YES];

    NSString *mediaType = [info objectForKey:UIImagePickerControllerMediaType];

    if ([mediaType isEqualToString:(NSString *)kUTTypeImage]) {
        UIImage *image = [self scaleThenRotateImage:[info objectForKey:UIImagePickerControllerOriginalImage]];

        imageView.image = image;
        if (newMedia)
            UIImageWriteToSavedPhotosAlbum(image, self, @selector(image:finishedSavingWithError:contextInfo:), nil);
    }

    else if ([mediaType isEqualToString:(NSString *)kUTTypeMovie]) {
        // Code here to support video if enabled
    }
}

ALAssetしかし、問題は、複数選択して選択した画像にチェックマークを表示できるピッカーを使用していることです。

たとえば、カメラから写真を撮り(上記のコードを使用)、カメラロールに移動して で画像(複数/単一)を選択するとimageTaken、ピッカーを表示してもチェックマークが表示されないため、解決策は、/with で保存する必要があることALAssetです。

これを変更する必要があります:

UIImagePickerControllerOriginalImage

UIImagePickerControllerMediaMetadata

または私は何をすべきか/変更する必要がありますか?答えてくれてありがとう。

4

0 に答える 0