我实现了一个UIPopoverController,它充满了分组的UITableView。只要弹出窗口不可见,表格视图中的单元格数量就可以动态变化。一旦弹出窗口变得可见,单元格的数量就是固定的。错误的大小从UITableView.SizeThatFits()
当弹出窗口变得可见时,我将弹窗内容的大小调整为表格视图的高度。我使用UITableView中的SizeThatFits()方法获取表大小并使用此值设置PopoverContentSize高度。
这个工作正常,当应用程序正在运行。但总是第一次在应用程序重新启动后显示弹出窗口,SizeThatFits()提供了错误的高度(大约60像素到高)。有没有人知道这个问题可能是什么?
你解决了这个问题吗?我现在看到了同样的问题(viewDidLoad比viewWillAppear中的高40个像素,但在viewWillAppear中弹出大小已经太晚了)。我怀疑这是由于这样一个事实,即在最初的调用过程中,UITableView不在已经加载的导航控制器内,并且可能sizeThatFits试图在这种情况下做一些巧妙的事情,例如考虑导航条的高度 – Clafou