无法让 UILabel 在 UITableView 之上正确显示
我正在努力实现我认为只不过是 1' 编码的目标,但显然 在 UITableViewController 中的 UITableView 上方添加 UILabel 并不是小菜一碟...?
这是代码(是的,基本的,我知道):
UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 310, 20)];
[[self tableView] addSubview:label];
结果可以在下面的屏幕截图中看到,右上角的标签仅显示一半,显示“平衡...”
请注意,如果我尝试更改 CGRect 原点.y 或 size.height UILabel 根本不显示。
我还尝试添加以下内容,结果没有变化:
[[self tableView] bringSubviewToFront:balanceLabel];
我不关心向上滚动 UITableView 时 UILabel 是否向上滚动,我希望它与第一个部分标题保持一致。
我知道这可以通过其他方式实现,使用自定义 UIView 作为标题,更改为 UIViewController 或使用 .xib,但我真的很想了解为什么会发生这种情况。
感谢您的任何帮助。 F.
I am struggling to achieve what I thought was nothing but a 1' coding but apparently
adding a UILabel above my UITableView in a UITableViewController is not a piece of cake...?
Here is the code (yes basic, I know):
UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 310, 20)];
[[self tableView] addSubview:label];
The result can be seen in the screenshot below, the label on the top right is just half displayed, saying "Balance..."
Please note that if I try to change CGRect origin.y or size.height the UILabel is not displayed at all.
I also tried adding the following, with no change in result:
[[self tableView] bringSubviewToFront:balanceLabel];
I don't care if the UILabel is scrolled up when scrolling up the UITableView, I want it to stick with the first section header.
I know this can be achieved in other ways, using a custom UIView for the header, changing to UIViewController or using a .xib, but really I would like to understand why this happens.
Thanks for any help.
F.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
看起来标题确实隐藏了您的标签,也许您可以尝试将标题背景设置为clearColor。由于您无法控制表视图循环,我怀疑在您的 addSubView 某处之后,表会构建自己的标头并执行另一个 addSubView 。
It does look like the header is hiding your label, maybe you could try setting the header background to clearColor. Since you have no control on the table view loop I suspect that after your addSubView somewhere the table builds its own header and does another addSubView.