gpt4 book ai didi

iOS tableviewheader subview 未显示

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

我使用 UITableView,我想在开始时设置一个文本。我的代码是:

UIView *tableHeaderView = [[UILabel alloc]initWithFrame:CGRectMake(0.0, 0.0, self.tableView.frame.size.width, 20.0)];
tableHeaderView.backgroundColor = [UIColor groupTableViewBackgroundColor];
UILabel *tableHeaderLabel = [[UILabel alloc]initWithFrame:CGRectMake(15.0,0,tableHeaderView.frame.size.width-15.0,tableHeaderView.frame.size.height)];
tableHeaderLabel.text = @"Countries";
if([UIFont respondsToSelector:@selector(preferredFontForTextStyle:)])
tableHeaderLabel.font = [UIFont preferredFontForTextStyle:UIFontTextStyleHeadline];
else
tableHeaderLabel.font = [UIFont boldSystemFontOfSize:14.0];
[tableHeaderView addSubview:tableHeaderLabel];
self.tableView.tableHeaderView = tableHeaderView;
[tableHeaderView bringSubviewToFront:tableHeaderLabel];
[tableHeaderLabel release];
[tableHeaderView release];

问题是文本没有显示。如果我抑制主标题 View 的 backgroundColor,或者如果我用透明的替换它,就好像标签在主标题 View 下一样。所以我添加了这一行:

[tableHeaderView bringSubviewToFront:tableHeaderLabel];

但这并不能解决问题。我不能直接将 Label 用作 tableViewHeaderView,因为我想在文本左侧留出空间。

有人有什么想法可以帮助我吗?

谢谢。

最佳答案

这里唯一的问题是第一行中的拼写错误,将UIView 错误地初始化为UILabel。编译器将不兼容,因为 UILabelUIView 的子类。

我运行了下面的代码,它按预期工作:(该代码用于 ARC,如果您不使用它,请不要忘记执行 release !)

- (void)viewDidLoad {
[super viewDidLoad];

UIView *tableHeaderView = [[UIView alloc] initWithFrame:CGRectMake(0.0, 0.0,
self.tableView.frame.size.width,
20.0)];
tableHeaderView.backgroundColor = [UIColor groupTableViewBackgroundColor];
UILabel *tableHeaderLabel = [[UILabel alloc] initWithFrame:CGRectMake(15.0, 0,
tableHeaderView.frame.size.width - 15.0,
tableHeaderView.frame.size.height)];
tableHeaderLabel.text = @"Countries";
tableHeaderView.backgroundColor = [UIColor groupTableViewBackgroundColor];
if([UIFont respondsToSelector:@selector(preferredFontForTextStyle:)]) {
tableHeaderLabel.font = [UIFont preferredFontForTextStyle:UIFontTextStyleHeadline];
} else {
tableHeaderLabel.font = [UIFont boldSystemFontOfSize:14.0];
}
[tableHeaderView addSubview:tableHeaderLabel];
self.tableView.tableHeaderView = tableHeaderView;
}

关于iOS tableviewheader subview 未显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35672499/

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