【发布时间】:2010-08-06 15:54:16
【问题描述】:
每当我设置我的 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;
}
【问题讨论】:
标签: iphone xcode uitableview