小编chl*_*iul的帖子

在UITableViewHeaderFooterView中更改字体大小的麻烦

这是问题所在,

我将UITableViewHeaderFooterView子类化并想要更改字体大小:

- (id)initWithFrame:(CGRect)frame
{
    self = [super initWithFrame:frame];
    if (self) {
        // Initialization code
        self.textLabel.textColor = [UIColor colorWithWhite:0.8 alpha:1.0];
        //the font is not working
        self.textLabel.font = [UIFont systemFontOfSize:20];
        NSLog(@"aaa%@", self.textLabel.font);
    }
    return self;
}
Run Code Online (Sandbox Code Playgroud)

颜色的东西工作正常,但字体没有改变,所以我记录了dequeue:

- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
{
    UITableViewHeader *headerView = [self.tableView dequeueReusableHeaderFooterViewWithIdentifier:MWDrawerHeaderReuseIdentifier];
    headerView.textLabel.text = self.sectionTitles[@(section)];
    NSLog(@"bbb%@", headerView.textLabel.font);
    return headerView;
}
Run Code Online (Sandbox Code Playgroud)

字体仍然在这里,所以我登录didLayoutsubviews:

-(void)viewDidLayoutSubviews
{
    UITableViewHeaderFooterView *head = [self.tableView headerViewForSection:0];
    NSLog(@"ccc%@", head.textLabel.font);
}
Run Code Online (Sandbox Code Playgroud)

并且字体大小神奇地恢复到默认值!!! 但是我之间没有做任何事情,如果再次改变字体大小viewDidLayoutSubviews,字体就变得正确了.

它让我疯狂!!!

当子类化单元格时,我做同样的字体更改,它工作正常!所以有人能告诉我发生了什么事吗?谢谢!

这是日志:

2014-02-09 16:02:03.339 InternWell[33359:70b] aaa<UICTFont: 0x8da4290> …
Run Code Online (Sandbox Code Playgroud)

uitableview ios

17
推荐指数
2
解决办法
5078
查看次数

标签 统计

ios ×1

uitableview ×1