我想更改tableHeader
身高,字体等......
我实施了UITableViewDelegate
,UITableViewDataSource
并添加了heightForHeaderInSection
和viewForHeaderInSection
。但是这两种方法都没有被调用。其他方法(如numberOfRowsInSection
/ cellForRowAtIndexPath
)工作正常。我可以看到表但没有标题:(
有什么想法吗?
这是代码:
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
return [self.poHeader.itemList count];
}
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
NSLog(@"numberOfSectionsInTableView");
return 1;
}
-(CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section{
NSLog(@"*******height");
return 44.0;
}
- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section {
NSLog(@"***in viewForHeader In section");
UIView* customView = [[UIView alloc] initWithFrame:CGRectMake(2, 166, 300.0, 44.0)];
UILabel * headerLabel = [[UILabel alloc] initWithFrame:CGRectZero];
headerLabel.backgroundColor = [UIColor clearColor];
headerLabel.opaque = NO;
headerLabel.textColor = [UIColor blackColor];
headerLabel.highlightedTextColor = [UIColor whiteColor];
headerLabel.font = [UIFont systemFontOfSize:13];
headerLabel.frame = CGRectMake(2, 166, 300.0, 44.0);
headerLabel.text = @"Part No. Description Ext Cost"; // i.e. array element
[customView addSubview:headerLabel];
return customView;
}
答案 0 :(得分:17)
差不多一年之后,但我想你只设置了数据源而不是代理人?
你必须在你的控制器中有这样的东西:
myTableview.delegate = self;
myTableview.dataSource = self;
您提到调用了numberOfRowsInSection / cellForRowAtIndexPath。两者都属于UITableViewDataSource
而不属于UITableViewDelegate
。
答案 1 :(得分:0)
除了设置委托外还可以快速 声明相关类或扩展的UITableViewDelegate符合性