1

ポップオーバーを表示したいアプリケーションに取り組んでいます

- (void)applicationWillEnterForeground:(UIApplication *)application 

アプリデリゲート関数ですが、アプリケーションが例外をスローします

"'NSInvalidArgumentException', reason: 'Popovers cannot be presented from a view which does not have a window.'".

私は次popOverのように呼んでいます

[popOver presentPopoverFromRect:self.rootViewController.view.frame inView:self.rootViewController.view  permittedArrowDirections:0 animated:YES];

次のようなコードを変更した場合

[popOver presentPopoverFromRect:self.rootViewController.view.frame inView:self.window  permittedArrowDirections:0 animated:YES];

コードは正常に機能します。それでpopOver、appdelegatesウィンドウに表示するのは正しいですか?

4

1 に答える 1

0

ビューはまだ表示されていません。そのため、窓がありません。そのコードをルートビューコントローラーのviewDidAppearメソッドに追加してみてください。

于 2012-01-03T04:34:33.947 に答える