So Chris Grant from Shinobi Squad confirmed it was a bug and he's fixed it for the next release (unknown date). In the meantime, the workaround was to use the "viewForHeaderInSection:inFrame:" method to return a custom view with the background set and let the "styleForSectionHeaderAtIndex:" take care of the rest.
This is what I did with the DataGridWithSections sample app:
- (UIView *)shinobiDataGrid:(ShinobiDataGrid *)grid viewForHeaderInSection:(NSInteger)sectionIndex inFrame:(CGRect)frame
{
UIView *headerView = [[UIView alloc] initWithFrame:frame];
UILabel * headerLabel = [[UILabel alloc] initWithFrame:CGRectMake(20, 0, frame.size.width-40, frame.size.height)];
headerLabel.backgroundColor = [UIColor clearColor];
headerLabel.opaque = NO;
headerLabel.textColor = [UIColor blackColor];
headerLabel.highlightedTextColor = [UIColor whiteColor];
headerLabel.font = [UIFont systemFontOfSize:16];
[headerView addSubview:headerLabel];
PersonGroup *group = self.data[sectionIndex];
headerLabel.text = group.letter;
switch (sectionIndex) {
case 0:
[headerView setBackgroundColor:[UIColor colorWithRed:215.0 / 255.0 green:79.0 / 255.0 blue:42.0 / 255.0 alpha:1.0]];
break;
case 1:
[headerView setBackgroundColor:[UIColor colorWithRed:32.0 / 255.0 green:141.0 / 255.0 blue:190.0 / 255.0 alpha:1.0]];
break;
case 2:
[headerView setBackgroundColor:[UIColor colorWithRed:16.0 / 255.0 green:160.0 / 255.0 blue:98.0 / 255.0 alpha:1.0]];
break;
case 3:
[headerView setBackgroundColor:[UIColor colorWithRed:229.0 / 255.0 green:176.0 / 255.0 blue:43.0 / 255.0 alpha:1.0]];
break;
default:
[headerView setBackgroundColor:[UIColor lightGrayColor]];
break;
}
return headerView;
}
Wg