私はiPadアプリを書いていますが、画面の1つにたくさんの小さなボタンがあり、押すとそのボタンから発生したポップオーバーに1文のテキストが表示されます。現在、すべてのポップオーバーはストーリーボードを使用して作成されており、ポップオーバーコントローラーを次のUIViewController
ように保存しています。
@property (nonatomic, strong) UIPopoverController *myPopoverController;
- (void) prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if ([segue isKindOfClass:[UIStoryboardPopoverSegue class]])
{
UIStoryboardPopoverSegue *popoverSegue = (UIStoryboardPopoverSegue *)segue;
self.myPopoverController = popoverSegue.popoverController;
}
}
しかし、私は回転に対処するための良い方法を理解することはできません。私のdidRotate
方法は次のようになります。
- (void) didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation
{
if (self.myPopoverController)
{
[self.myPopoverController dismissPopoverAnimated: NO];
[self.myPopoverController presentPopoverFromRect:?????? inView:self.view permittedArrowDirections:UIPopoverArrowDirectionDown animated:NO];
}
}
ただし、ポップオーバーは画面上の小さなボタンのいずれかから発生した可能性があるため、どこからポップオーバーを表示するかはわかりません。助言がありますか?これらは非常に単純なポップオーバーであるため、大量の新しいコードは理想的ではないことを忘れないでください。