2011-08-09 16 views
1

私はiPadアプリを作成しました。風景や肖像画でうまく動作します。アプリが横向きに回転している場合を除いて、ポップオーバーの位置が正しくありません。擬似コードのようなifステートメントを追加する方法はあります:popover rotation

if in portrait CGRect 
    use size S1 location L1 
else if in landscape CGRect 
    use size S2 location L2 

マイコード:

UIPopoverController* popover = [[UIPopoverController alloc] initWithContentViewController:TweetFeed]; 
[popover setDelegate:self]; 
[popover presentPopoverFromRect:CGRectMake(401, 401, 220, 300) inView:self.view permittedArrowDirections:UIPopoverArrowDirectionDown animated:YES]; 
[popover setPopoverContentSize:CGSizeMake(320, 150)]; 
UIPopoverControllerためのAppleのドキュメントには、この問題に対処し

答えて

0

:ユーザーがデバイスの間を回転させる場合

をポップオーバーが表示され、ポップオーバーコントローラーがポップオーバーを非表示にしてから、回転の最後にポップオーバーを再度表示します。ポップオーバー・コントローラーは、ポップ・オーバーの位置を適切に決めようとしますが、場合によってはそれをもう一度表示したり隠したりする必要があります。例えば、バーボタンアイテムから表示されるとき、ポップオーバーコントローラは、バーボタンアイテムの位置の変化を説明するために、ポップオーバーの位置(および場合によってはサイズ)を自動的に調整する。ただし、回転中にバーボタンアイテムを削除した場合、またはビューのターゲット矩形からポップオーバーを提示した場合、ポップオーバーコントローラーはポップオーバーの位置を変更しようとしません。そのような場合は、手動でポップオーバーを非表示にするか、適切な新しい位置から再度表示する必要があります。これは、ポップオーバーを表示するために使用したView ControllerのdidRotateFromInterfaceOrientation:メソッドで行うことができます。