我正在编写一个 iPad 应用程序,我的一个屏幕上有很多小按钮,按下时会在源自该按钮的弹出窗口中显示一个文本句子。目前所有弹出框都是使用情节提要创建的,我将弹出框控制器存储在我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];
}
}
但是,我不知道从哪里显示弹出框,因为它们可能来自我屏幕上的任何小按钮。有什么建议么?请记住,这些是非常简单的弹出框,因此一大堆新代码并不理想。