gpt4 book ai didi

ios - 使用自动布局计算 tableHeaderView 高度

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:16:29 25 4
gpt4 key购买 nike

这是我的 xib 文件:

enter image description here

如您所见,我有一个 UITableView 和一个 tableHeaderView(橙色)!在运行时一切都显示正确,除非标题标签有多行,而不是 UILabel 被典型的“..”截断。我已经将 numberOfLines 更改为 0!

我认识到问题是整个 tableHeaderView 的高度!这就是我在代码中计算高度的方式:

[self.headerView setNeedsLayout];
[self.headerView layoutIfNeeded];

CGFloat height = [self.headerView systemLayoutSizeFittingSize:UILayoutFittingCompressedSize].height + self.headerView.frame.origin.y;

CGRect headerFrame = self.headerView.frame;
headerFrame.size.height = height;
self.headerView.frame = headerFrame;

[self.tableView setTableHeaderView:self.headerView];

但在运行时,tableHeaderView 太小,无法显示 2 或 3 或 4...行的标题标签。可能是什么问题?

最佳答案

我认为您过于努力地将内容放入 tableview 标题中,该标题旨在包含相对较小的 static 内容。

假设你想要的是你的 tableview 停留在橙色 View 的底部,橙色 View 随 tableview 滚动(即不一直停留在屏幕顶部),我会添加一个滚动条查看橙色 View 和 TableView 的父 View ,并禁用 TableView 滚动功能。

这意味着将 UITableViewController 换成 UIViewController。

例如。

-- UIScrollView
|
-- UIView (orange view)
| |
| -- subview 1
| -- subview 2
| -- etc.
|
-- UITableView (scrollEnabled = NO)

使用 AutoLayout,您可以使橙色 View 自动调整大小以适应其内容,这会将 UITableView 向下“推”。当用户垂直滑动时,根 ScrollView 将捕获事件,并相应地滚动整个(orangeView + tableView),产生与橙色 View 是 TableView 标题相同的效果。

关于ios - 使用自动布局计算 tableHeaderView 高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27900468/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com