当iPad旋转时,UIPopovercontroller不会保持其位置

时间:2012-07-13 10:25:06

标签: objective-c ios xcode ipad

我正在创建这样的popover。

-(void)showPop{

    if (self.popoverController2 == nil) {


        RootViewController *iap = 
        [[RootViewController alloc]initWithNibName:@"RootViewController" bundle:[NSBundle mainBundle]];
        [iap setDelegate:self];


        UIPopoverController *popover = 
        [[UIPopoverController alloc] initWithContentViewController:iap]; 

        popover.delegate = self;

        popover.popoverContentSize = CGSizeMake(320, 300);  

        self.popoverController2 = popover;


    }


    CGRect popoverRect = [self.view convertRect:[shopButton frame] fromView:[shopButton superview]];


    [self.popoverController2 presentPopoverFromRect:shopButton.bounds inView:shopButton 
                           permittedArrowDirections:UIPopoverArrowDirectionAny 
                                           animated:YES];


}

ShopButton是弹出窗口弹出窗口的按钮。现在的问题是,当我旋转设备时,弹出窗口保持在它绘制的位置,而视图的其余部分根据旋转进行调整。简单来说,当设备旋转并绘制弹出窗口(从UIButton弹出)时,弹出窗口不会随着UIButton一起移动。如果我关闭弹出框并再次从按钮中绘制它,它会在按钮上方正确绘制。只有弹出弹出窗口旋转时才会出现问题。

请尽快帮助。 谢谢:))

1 个答案:

答案 0 :(得分:0)

你可以在方向改变之前隐藏弹出窗口,然后用新的坐标再次显示它。