0

このようなポップオーバーを作成しています。

-(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 と一緒に移動しません。ポップオーバーを閉じてボタンから再度描画すると、ボタンの上に正しく描画されます。問題は、ポップオーバーがポップアップして回転する場合にのみ発生します。

できるだけ早く助けてください。ありがとうございました :)

4

1 に答える 1

0

向きが変わる前にポップオーバーを非表示にし、直後に新しい座標で再度表示することができます。

于 2012-07-13T10:31:25.647 に答える