在iOS 7.0之前甚至ios 7.0的stackoverflow中,有一个number解决方案。但没有一个对我有用。
似乎大多数人都无法将背景颜色设置为透明。在我的情况下,我想摆脱透明的颜色,以便“星期日4日”获得稳固的背景,同时向下滚动当天的时间不会影响截图中的标题。
我试图设置色彩颜色和内容视图而没有任何运气:
- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
{
FTDayHeaderView *header = [[self recordTableView] dequeueReusableHeaderFooterViewWithIdentifier:@"FTDayHeaderView"];
//[header setTintColor:[UIColor greenColor]]; Didn't work either
header.contentView.backgroundColor = [UIColor blackColor];
return header;
}
这是FTDayHeaderView
在IB中的设置:
我已停用opaque
而没有任何效果。
更新: 按要求。
#import "FTDayHeaderView.h"
@implementation FTDayHeaderView
- (id)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
if (self) {
// Initialization code
}
return self;
}
答案 0 :(得分:3)
不确定它是否解决了你的问题,但它解决了我的问题。尝试在willDisplayHeaderView
中设置颜色并将其调整为您的代码。
- (void)tableView:(UITableView *)tableView willDisplayHeaderView:(UIView *)view forSection:(NSInteger)section
{
if ([view isMemberOfClass:[UITableViewHeaderFooterView class]]) {
((UITableViewHeaderFooterView *)view).backgroundView.backgroundColor = [UIColor whiteColor];
}
}
答案 1 :(得分:1)
试试这个:
-(UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
{
UITableViewHeaderFooterView *sv = [self.tableView dequeueReusableHeaderFooterViewWithIdentifier:@"SomeViewId"];
sv.backgroundView = [[UIView alloc] initWithFrame:CGRectMake(0.0, 0.0, 320.0, 48.0)];
sv.backgroundView.backgroundColor = [UIColor groupTableViewBackgroundColor];
return sv;
}
我注意到,backgroundView为nil,并为背景颜色创建了一个视图。 (您可能需要更改视图的尺寸... 48是我的标题视图的高度。)