4

私は現在、iPad 用の iPad アプリケーションを開発しています。そこでは、UIOpOverController を UIImagePickerController と組み合わせて使用​​し、ユーザーが iPad から画像を選択できるようにします (sourceType UIImagePickerControllerSourceTypeSavedPhotosAlbum を使用)。これは期待どおりにうまく機能しますが、クライアントは当然、SavedPhotos アルバムを閲覧することしかできません。UIImagePickerControllerSourceTypePhotoLibrary を使用するようにピッカーを変更すると、ウィンドウには引き続きアルバムが表示されますが、静的になります (つまり、スクロールはできますが、アルバムを選択することはできず、上下にスクロールすると、ビューはポップするだけです)画面をもう一度タップすると元に戻ります)。

PhotoLibrary を正しく機能させるには、追加の設定が必要ですか? 私は多くのアプローチを試みましたが、ここではすべて運が悪いです。

セットアップは、UIImagePicker を使用して UIPopOverController を生成する OpenGL ビューです。わかりやすくするために、コードを次に示します。

-(void)showPicker
{
    if(![pController isPopoverVisible])
    {
        [pController presentPopoverFromRect:CGRectMake(50,100,200,300) inView:self.view permittedArrowDirections:UIPopoverArrowDirectionLeft animated:YES];
    }
    else
    { 
        pController dismissPopoverAnimated:YES];
    }
}
-(void)awakeFromNib
{
    picker = [[UIImagePickerController alloc] init];

    pController = [[UIPopoverController alloc] initWithContentViewController:picker];

    // Code works properly if I only set it to UIImagePickerControllerSourceTypeSavedPhotosAlbum
    if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypePhotoLibrary]) picker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
    else if([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeSavedPhotosAlbum]) picker.sourceType =UIImagePickerControllerSourceTypeSavedPhotosAlbum;
    else { NSLog(@"Error: Could not pick appropriate sourceType"); }

    picker.mediaTypes = [NSArray arrayWithObjects:(NSString*)kUTTypeImage, nil];
    picker.delegate = self;
    pController.delegate = self;
    picker.allowsEditing=NO;
}
4

1 に答える 1

0

iOS6で作業していますか? Settings/Privacyで、アプリがPhotos Albumsに表示されることを許可する必要があることを知っています。

于 2012-11-09T16:14:16.303 に答える