これが私のビューの設定です:
UIBarButtonItem
をクリックすると、が表示されますUIImagePickerController
。UIPopoverController
これは、iPad で必要なため、「リセット」ボタンをクリックして呼び出される を使用して行う必要があります。これが私のコードです:
-(IBAction) btnReset:(id)sender {
[self chooseImage];
}
-(void) chooseImage {
if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypePhotoLibrary]) {
imagepicker = [[UIImagePickerController alloc] init];
imagepicker.allowsEditing = NO;
imagepicker.delegate = self;
imagepicker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
imagepicker.navigationBar.opaque = true;
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {
popoverController = [[UIPopoverController alloc] initWithContentViewController:imagepicker];
[popoverController presentPopoverFromBarButtonItem:reset permittedArrowDirections:UIPopoverArrowDirectionDown animated:YES];
} else {
[self presentModalViewController:imagepicker animated:YES];
}
}
}
ただし、これが呼び出されると、ビューは次のエラーでクラッシュします。
'NSInvalidArgumentException', reason: '-[UIPopoverController presentPopoverFromRect:inView:permittedArrowDirections:animated:]: ウィンドウを持たないビューからポップオーバーを表示することはできません.'
私は何を間違っていますか?前もって感謝します。