1

現在、UIPopovercontroller の問題に直面しています。

ここに事実があります、私はクラスを持っています:ImagePickerViewController(BaseViewControllerから継承)2つのプロパティを含む:

@property (nonatomic, retain) UIImagePickerController *pickerController;
@property (nonatomic, retain) UIPopoverController *popOver;

また、次のように表示される pickerController にオーバーレイを適用します。

[self presentViewController:pickerController animated:NO completion:nil];

そして、iPad で UIPopoverController を介して画像ライブラリを表示したい場合:

popOver = [[UIPopoverController alloc] initWithContentViewController:pickerController];

このエラーが発生します:

***キャッチされない例外「NSGenericException」が原因でアプリを終了します。理由:「コンテンツ ビュー コントローラーの引数は、関連付けられたビュー コントローラー階層のルートである必要があります。」

このトピックはすでに見ましたが、実際には役に立ちませんでした。

だから私は pickerController を提示することでそれをルートにしたと思っていましたが、そうではないようです。どんな助けも歓迎します:)

4

1 に答える 1

2

問題は、同じ pickerController を同時に 2 回表示しようとしていることです。そんなことはできません。を使用してモーダル ビュー コントローラーとして表示するpresentViewControllerか、ポップオーバーで表示します。両方をやろうとしないでください。

ポップオーバーに表示するには、ポップオーバーを作成する必要がある行から始めます。

popOver = [[UIPopoverController alloc] initWithContentViewController:pickerController];

次に、2 つのメソッドのいずれかを呼び出して、ポップオーバーを表示します。

[popover presentPopoverFrom.... permittedArrowDirections: UIPopoverArrowDirectionAny animated:YES];
于 2012-11-13T17:00:32.150 に答える