gpt4 book ai didi

ios - tableHeaderView 使用自动布局和 Storyboard 以全高显示

转载 作者:行者123 更新时间:2023-12-01 18:53:05 28 4
gpt4 key购买 nike

更新

从头开始一个新项目时,我无法重现该问题。 tableHeaderView 的高度始终与我在 Storyboard 中的高度匹配。但是,如果我将我的 Storyboard复制到一个全新的项目中并将其设置为主 Storyboard,则可以看到问题。

你可以在这里下载我的测试项目:

https://www.dropbox.com/sh/k5kc4syk563mm5y/AAAct3YbNp_S133rt7-iaftia?dl=0

在 Storyboard 中,我有一个 UIViewControllerUITableView .我拖放了一个UIVIew (紫色 View )在表格 View 的顶部,Xcode 自动生成了 tableHeaderView为了我。

enter image description here

当我构建并运行时,tableHeaderView占据了整个屏幕。

enter image description here

如果我 NSLog viewDidAppear 中 tableHeaderView 的框架在 iPhone 6 上,我得到 {{0, 0}, {320, 568}} .

有大量关于重置 tableHeaderView 的 SO Q/A如果您有多行标签,建议使用 systemLayoutSizeFittingSize:接口(interface):

- (void)viewDidLayoutSubviews
{
[super viewDidLayoutSubviews];

UIView *headerView = self.tableHeaderView;

[headerView setNeedsLayout];
[headerView layoutIfNeeded];
CGFloat height = [headerView systemLayoutSizeFittingSize:UILayoutFittingCompressedSize].height;
NSLog(@"height: %@", @(height));

headerView.frame = ({
CGRect headerFrame = headerView.frame;
headerFrame.size.height = height;
headerFrame;
});

self.tableHeaderView = headerView;

}

我已经尝试过了,而且 a) 这甚至对我不起作用,因为 height最终为0,并且b)此时我只是想打印出我的虚拟标签,它们具有固定的高度。

如何配置我的 tableHeaderView在我的 Storyboard中,所以在设备上运行时高度显示类似?

最佳答案

就像@Jaques 的回答一样,我必须手动编辑 tableHeaderView 高度属性,使其成为我想要的。这一定是 Storyboard 中的错误。

我在 TextEdit 中搜索了“tableHeaderView”。

enter image description here

关于ios - tableHeaderView 使用自动布局和 Storyboard 以全高显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29687023/

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