何时是preferredContentSize受到尊重?

tes*_*ing 6 uitableview uipopovercontroller ios

我有一个表视图控制器,它后面的内容设置viewDidLoad.设置新内容时,我计算了preferredContentSize.在我提出popover之前,我可以查询preferredContentSize我的视图控制器,这是正确的.但是在演示之后我得到了popover的标准尺寸(320x480).如果我使用setPopoverContentSize:animated:之前查询的值一切正常.

我现在的问题是为什么它preferredContentSize一开始就不尊重这项权利?我做错了什么?

tes*_*ing 6

现在我又遇到了同样的问题.如果我把我的桌子高度计算viewWillAppear比它的工作:

public override void ViewWillAppear (bool animated)
{
    base.ViewWillAppear (animated);

    TableView.LayoutIfNeeded ();
    this.PreferredContentSize = new SizeF (320f, TableView.ContentSize.Height);
}
Run Code Online (Sandbox Code Playgroud)

代码在C#中,但您可以轻松地将其转换为Objective-C或Swift.