我使用此代码使用UITableView设置标题和背景颜色,但标题未显示?
- (NSString *)tableView:(UITableView *)aTableView titleForHeaderInSection:(NSInteger)section
{
return @"Contents";
}
- (UIView *) tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
{
UIView *headerView = [[[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 30)] autorelease];
[headerView setBackgroundColor:[UIColor brownColor]];
[self.view sendSubviewToBack:headerView];
return headerView;
}
请帮助......
答案 0 :(得分:1)
如果我没记错,一旦您为viewForHeaderInSection
返回了某些内容,titleForHeaderInSection
中返回的值就不再使用了。在viewForHeaderInSection
中将UILabel添加为headerView
的子视图,并将文本设置为@"Contents"
答案 1 :(得分:0)
请将您的代码更改为此,并且只有您必须实现viewForHeaderInSection方法:
- (UIView *) tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
{
NSString *cellValue = @"";
UIView *headerView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 30)] ;
[headerView setBackgroundColor:[UIColor brownColor]];
UILabel *lblContent = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, headerView.frame.size.width, headerView.frame.size.height)];
cellValue = [[arrSections objectAtIndex:0] valueForKey:@"CategoryName"];
lblContent.text = cellValue;
[headerView addSubview:lblContent];
return headerView;
}