我有一个带页眉和页脚的UITableViewController,只有1个部分,我想把它放在UIPopover中。
UITable最多有5行,所以我希望我可以根据表的大小来调整popover的大小。
在viewDidLoad
的{{1}}中,我调用一个Web服务,然后决定表中有多少行。
我面临的问题是我不知道在哪里拨打UITableViewController
?在setPopoverContentSize
,viewDidLoad
和viewWillAppear
中调用它似乎无效。
答案 0 :(得分:2)
对于ios7,您必须在控制器中设置以下方法:
-(void) viewDidAppear:(BOOL)animated{
self.preferredContentSize=myTableView.contentSize;
}
希望它会对你有所帮助。
答案 1 :(得分:0)
最后,我通过使用代理来解决这个问题。因此,每次我的Web服务调用结束时,我都会调用一个委托方法,告诉UIViewController
显示popover有多少行。之后,我使用setPopoverContentSize: animated:
设置了弹出窗口大小。
这个方法要求主视图(应该显示弹出窗口的那个)确定大小,我认为更好的方法是将内容视图(要显示的内容)视图确定它的高度和宽度,但我不能这样做。