tableView.tableHeaderView устанавливается, но не рисуется

всякий раз, когда я устанавливаю свой tableHeaderView, я не вижу его в симуляторе. Если я добавлю его в качестве подпредставления, он окажется нарисованным под заголовком раздела. Есть идеи, что мне здесь не хватает?

У меня есть файл XIB. Я не видел никаких свойств в IB, которые влияли бы на headerViews.

- (void)viewDidLoad {   
[super viewDidLoad];
MyTitleView *titleView = [[MyTitleView alloc] initWithFrame:CGRectMake(60,0,260,40)];
titleView.label.text = @"My Title";
self.navigationItem.titleView = titleView;
[titleView release];

StandardTableHeaderView *headerView = [[StandardTableHeaderView alloc] initWithFrame:CGRectMake(0,0,320,44)];
self.tableView.tableHeaderView = headerView;
//  [self.view addSubview:self.tableView.tableHeaderView];
//  [headerView release];


NSLog(@"Header: %@",self.tableView.tableHeaderView); //Logs ] Header:     <StandardTableHeaderView: 0x5a508b0; frame = (0 0; 320 44); layer = <CALayer: 0x5a51130>>

Редактировать: Метод инициализации StandardTableHeaderView.m:

- (id)initWithFrame:(CGRect)frame {
if ((self = [super initWithFrame:frame])) {
    self.backgroundColor = [UIColor redColor];
    self.label = [[UILabel alloc] initWithFrame:CGRectMake(frame.origin.x,0,frame.size.width,frame.size.height)];
    self.label.backgroundColor = [UIColor clearColor];
    self.label.textColor = [UIColor whiteColor];
    self.label.font = [UIFont fontWithName:@"Helvetica" size:16];
    [self addSubview:self.label];
}
return self;
}
11
задан Saad 4 June 2012 в 09:20
поделиться

1 ответ

Во-первых, ваш код выглядит нормально.

2 возможные проблемы:

  • self.tableView не установлен
  • tableHeaderView переопределен после viewDidLoad
7
ответ дан 3 December 2019 в 08:53
поделиться
Другие вопросы по тегам:

Похожие вопросы: