qua*_*ato 11 iphone xcode uitableview
每当我设置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>>
Run Code Online (Sandbox Code Playgroud)
编辑:StandardTableHeaderView.m init方法:
- (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;
}
Run Code Online (Sandbox Code Playgroud)
我遇到了同样的问题,并注意到如果我通过调用初始化我的tableview,我在NIB中定义的任何tableViewHeader都不会出现:
- (id)initWithStyle:(UITableViewStyle)style
Run Code Online (Sandbox Code Playgroud)
但是当我使用以下方法初始化我的tableview时,它毫不费力地出现了:
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
Run Code Online (Sandbox Code Playgroud)
奇怪的.
注意!如果您希望表视图为您设置标题视图的框架,那么您就错了,并且会得到非常奇怪的结果.
我让我CGRectZero
认为它会自行解决,但事情不会出现,当它发生时,它会显示在导航栏下面或者插入第一个单元格等等.
归档时间: |
|
查看次数: |
12525 次 |
最近记录: |