ipad – UIPopoverController显示在错误的位置

我在窗口内切换视图.方向有时会混淆.

在其中一个窗口中,当我尝试显示应附加到工具栏按钮的弹出窗口时,它将显示在屏幕上的位置.如果我实际更改了设备的方向,则会在正确的位置重绘弹出窗口.如果我再次将其切换回来,则会将其绘制在正确的位置.如果我关闭弹出窗口并尝试再次显示它,它会再次显示在错误的位置.

建议表示赞赏.

最佳答案 在这里,当你从视图中显示弹出控制器时,首先你需要检查你现在有哪个orinetation,并根据你可以选择框架的方向,并从当前视图打开弹出控制器.您可以这样做:

    if(UIAppDelegate.intOrientation == 1)
    {
        popoverController.popoverContentSize = CGSizeMake(570, 720);
        [self.popoverController presentPopoverFromRect:CGRectMake(100, 150, 570, 720) inView:self.view permittedArrowDirections:NO animated:YES];
    }
    else
    {
        popoverController.popoverContentSize = CGSizeMake(820, 500);
        [self.popoverController presentPopoverFromRect:CGRectMake(102, 135, 820, 500) inView:self.view permittedArrowDirections:NO animated:YES];
    }
点赞