最近,我已升级到xCode 6.我有两个用于开发的iPad;一个运行iOS 7.1.2,另一个运行iOS 8.0.2.
在我的应用程序中,我使用UIPopoverController来显示UITableViewController中的项列表.从iOS 5到iOS 7,这一切都运行良好.我只创建一次UIPopoverController,并且我经常在整个应用程序中重复使用它.我希望popover的大小足以显示列表中的项目(1到5项),所以我调用setPopoverContentSize:animated:在我确定显示区域应该有多大之后调整popover的大小.
正如我所提到的,这一切都很好.如果我使用运行iOS 7的iPad开发,一切仍然可以正常工作.但是如果我使用运行iOS 8的iPad,那么第一次调用setPopoverContentSize:动画会正确调整弹出窗口的大小 – 但仅限于第一次调用.所有后续调用都不会影响弹出窗口的大小.
该应用程序的发布版本仍可正常运行,即使它在iOS 8上运行(它是使用xCode 5开发并提交给Apple的).所以这似乎是与xCode 6和iOS 8相结合的问题.
我无法弄清楚为什么只有第一次调用setPopoverContentSize:animated正在工作.有没有人见过这种行为?如果是这样,你是如何在UIPopoverController上调整大小才能正常工作的?