以编程方式调整 UIPopover 及其 UITableView 的大小

Posted

技术标签:

【中文标题】以编程方式调整 UIPopover 及其 UITableView 的大小【英文标题】:Resizing UIPopover and its UITableView programmatically 【发布时间】:2010-08-20 14:51:56 【问题描述】:

我有一个 UIPopoverController,它加载了一个自定义控制器,它是 UITableViewController 的子类。它用于在搜索栏下显示一些建议。

当我的弹出窗口打开其中的 UITableView 时,它会显示尽可能多的行;第一个显示我设置的选项,最后一个是空白的。我想要实现的是只显示 N 行(对应于我提供的选择),并去掉底部的空单元格。

我一直在尝试多种不同的技术:我一直在 viewWillAppear:animated 和 viewDidAppear:animated 中分配自定义框架;我一直在摆弄 IB 中的自动调整大小属性;我不能使用 init 或 viewDidLoad,因为表格内容是动态的。

我很确定我在这里是愚蠢的,必须有一种简单的方法来实现这一点。 有什么建议吗? 干杯, 大卫

【问题讨论】:

【参考方案1】:

您可以使用 UITableViewDataSourceProtocol 方法设置表格中将出现的行数:

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section

更多信息请参见此处的文档:

http://developer.apple.com/library/ios/#documentation/UIKit/Reference/UITableViewDataSource_Protocol/Reference/Reference.html

基本上,您只需在方法内返回以下内容:

numberOfRowsInSection

if (section == someSection) 如果(行 == someRow) 返回 thisManyRows;

希望这会有所帮助:)

【讨论】:

以上是关于以编程方式调整 UIPopover 及其 UITableView 的大小的主要内容,如果未能解决你的问题,请参考以下文章

无法从另一个类中关闭 UIPopover

UIPopOver 标题和副标题

UIPopOver、UITextView 和自动调整大小

iOS 13:调整 UITabBar 高度不起作用 [重复]

以编程方式创建 UITableViewCell 或从 nib 加载是不是更快?

如何以编程方式设置 UIView 的自动调整大小掩码?