我在窗口内切换视图。方向有时会混淆。
在其中一个窗口中,当我尝试显示应附加到工具栏按钮的弹出窗口时,它会显示在屏幕上的位置。如果我实际更改了设备的方向,则会在正确的位置重绘弹出窗口。如果我再次将其切换回来,则会将其绘制在正确的位置。如果我解除了弹出窗口并尝试再次显示它,它会再次显示在错误的位置。
建议表示赞赏。
答案 0 :(得分:1)
此处当您从视图中显示弹出控制器时,首先需要检查您现在拥有的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];
}
答案 1 :(得分:1)
问题消失了,不知道为什么。我在Apple开发人员的支持下打开了一个问题。他们查看了我的代码,并提出了几个未记录的指南。
一个是不要在切换视图之间混合屏幕方向。让他们一直支持景观与否,肖像与否。
他们还说只有一个控制器应该一次管理屏幕。
这个问题在iPad上出现了iOS4.2。不知道这是否适用。