如何设置UIPopoverPresentationController的高度与UITableView相同

5
我在我的应用程序上使用UIPopoverPresentationController在我的iPhone上显示一个弹出框(使用UIModalPresentationNone)。我希望大小随着UITableView的高度动态变化,但我找不到如何实现。弹出框的大小在每个设备上都相同。

如果所有行的行高都相同,则可以使用一个最小计数变量来确定要同时显示多少行,并根据此设置tableview的高度。如果项目计数小于最小计数,则根据计数更改表视图框架。高度=计数*行高; - Dinesh Reddy Chennuru
我知道,但我不知道在代码中哪里需要设置弹出窗口的高度。 - lennartk
tableView的viewControllerObj.contentSizeForViewInPopover = CGSizeMake(宽度, 高度); - Dinesh Reddy Chennuru
1
tableViewController.preferredContentSize = CGSizeMake(width,height)表视图控制器.preferredContentSize = CGSizeMake(宽度,高度) - gabbler
太好了!谢谢 :D - lennartk
1个回答

5
在弹出框所展示的类中,添加以下代码:
- (void)viewDidLayoutSubviews {
    self.preferredContentSize = CGSizeMake(320, tableView.contentSize.height);
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接