根据UITableView中的行数调整UIPopoverController大小

时间:2013-12-05 11:11:22

标签: ios objective-c uitableview uipopovercontroller

我有一个带页眉和页脚的UITableViewController,只有1个部分,我想把它放在UIPopover中。

UITable最多有5行,所以我希望我可以根据表的大小来调整popover的大小。

viewDidLoad的{​​{1}}中,我调用一个Web服务,然后决定表中有多少行。

我面临的问题是我不知道在哪里拨打UITableViewController?在setPopoverContentSizeviewDidLoadviewWillAppear中调用它似乎无效。

2 个答案:

答案 0 :(得分:2)

对于ios7,您必须在控制器中设置以下方法:

 -(void) viewDidAppear:(BOOL)animated{
     self.preferredContentSize=myTableView.contentSize;
  }

希望它会对你有所帮助。

答案 1 :(得分:0)

最后,我通过使用代理来解决这个问题。因此,每次我的Web服务调用结束时,我都会调用一个委托方法,告诉UIViewController显示popover有多少行。之后,我使用setPopoverContentSize: animated:设置了弹出窗口大小。

这个方法要求主视图(应该显示弹出窗口的那个)确定大小,我认为更好的方法是将内容视图(要显示的内容)视图确定它的高度和宽度,但我不能这样做。