私のUIPopOverControllerは回転している(再生できない)ときや、たとえば風景のテーブルビューからコンテンツを開いたときにデバイスをポートレートに回転させ、同じコンテンツをポートレートで開きます。回転時にコンテンツを失うUIPopOverController
Popovercontrollerが表示されていますが、コンテンツが表示されていません。つまり、それは黒です...誰かがこれに遭遇しましたか類似していますか?
私のUIPopOverControllerは回転している(再生できない)ときや、たとえば風景のテーブルビューからコンテンツを開いたときにデバイスをポートレートに回転させ、同じコンテンツをポートレートで開きます。回転時にコンテンツを失うUIPopOverController
Popovercontrollerが表示されていますが、コンテンツが表示されていません。つまり、それは黒です...誰かがこれに遭遇しましたか類似していますか?
回転が発生した後にUIPopoverControllerを使用したときに同様の問題が発生しました(UIPopoverControllerのサイズが変わった、それが画面の奇妙な場所に再配置されました)。
私にとっては、UIViewControllerのdidRotateFromOrientation:(UIInterfaceOrientation)メソッドをアプリケーションにオーバーロードするというトリックがありました。 、方法:あなたがUIPopoverControllerのpresentPopoverFromBarButtonItemを使用してUIBarButtonItemにUIPopoverControllerを抱き合わせている場合は、その
-(void) didRotateFromOrientation:(UIInterfaceOrientation)uiOrientation {
if (popoverController.popoverVisible) {
// Define rect to be the UI component's rect where you want to tie the popoverController
CGRect rect = CGRectMake(...);
// This method will reposition the popover correctly
[popoverController presentPopoverFromRect:rect inView:self.view permittedArrowDirections:UIPopoverArrowDirectionUp animated:NO];
}
}
注:再びそこから方法:だからUIPopoverControllerが表示され、UIPopoverControllerのpresentPopoverFromRectを呼び出したときに表示されている、アプリケーションののUIViewControllerクラスからメソッドをオーバーロードシステムは自動的に回転の後でpopoverの位置を自動的に処理しなければなりません。
良い回避策...より良い結果を得るには、popoverContentrollerを再び表示する前にpopoverContentSizeとcontentViewControllerを設定してください! – Beppe
これまではありませんでしたが、回転して表示した後、ビューコントローラのビューのフレームをダンプすることはできますか?たぶん、限界がある/適切に設定されていないことがあります。 –