我正在尝试为分组表中的部分自定义标题。我为表格中的第一部分设置的视图看起来不错,但随后的部分标题看起来在顶部和底部被裁剪(在此屏幕截图中,它仅显示在顶部):
我一直在尝试不同的 X 和 Y 值frame.size.origin
,但看起来还是一样。这是我的代码:
- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
{
if (section == 1) {
UIView *wrapper = [[UIView alloc] initWithFrame:CGRectMake(0, 0, self.tableView.frame.size.width, 70)];
[wrapper setBackgroundColor:[UIColor clearColor]];
UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(10, 20, self.tableView.frame.size.width, 20)];
label.text = NSLocalizedString(@"Section 2 Header", @"");
[label setFont:[UIFont boldSystemFontOfSize:15]];
[label setBackgroundColor:[UIColor clearColor]];
[wrapper addSubview:label];
return wrapper;
}
else
return nil;
}
- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section
{
if (section == 1)
return 70;
else
return 0;
}
我对所有部分标题都做了同样的事情,只有第一个正确显示,我做错了什么?关于这个问题,一旦知道它的文本和字体大小,是否可以动态地知道它的高度UILabel
,或者你应该总是“猜测”设置它的框架大小?方法中设置的标题的视图高度相同heightForHeaderInSection:
。
谢谢!