ios - 使用编程自动布局调整 UITableView 的大小

标签 ios uitableview autolayout

我有一个 UITableView 从远程 XML 动态加载数据。它有 1 个高度为 70 的原型(prototype)单元格。

我尝试将 UITableView 的高度设置为:

Cell Height x Number of Rows

使用 [tbl setFrame:CGRectMake(0, 0, 320, 70 * contents.count)]; 但表格大小保持不变。

因为我使用的是自动布局,有人建议我应该使用:

[tbl setTranslatesAutoresizingMaskIntoConstraints:NO];

已添加,但大小保持不变。

如何更改 UITableView 的大小以准确适应数据的大小?

最佳答案

假设您的 tableView 锚定在顶部,并且它的高度不受约束(使用占位符 intrinsicSize 在界面构建器上允许这样做),您可以将 UITableView 扩展成这样,并且您不需要任何代码:

@implementation ExpandedTableView

- (void)reloadData
{
    [super reloadData];
    [self invalidateIntrinsicContentSize];
}

- (CGSize)intrinsicContentSize
{
    return self.contentSize;
}

@end

关于ios - 使用编程自动布局调整 UITableView 的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24034834/

相关文章:

iphone - 如何以编程方式绘制边框并在 UIImageview 周围的单词后将其删除?

ios - 有没有办法使用expo根据react-native中的手机语言翻译上下文菜单?

arrays - 快速自动刷新单元格

iphone - 为什么 UITableViewController self.tableView 属性在 UIPopoverController 中呈现时为 Nil?

ios - ViewDidLoad 中 UITextField 的圆角仅影响左角

cocoa - 为什么这个 Cocoa 布局不明确?

ios - 新的 iOS SDK 3.0,无需弃用 API 即可发布到用户墙

ios - SQLite3 错误 - iOS

ios - 滑动 tableViews(很像日历)

ios - 何时以及为何调用 updateConstraints?