Я почти уверен, что вы не можете сделать это легко.Я недавно использовал один из моих запросов на техническую поддержку в своей учетной записи dev, спрашивая об изменении фона и границ разделов UITableView.Яблочный инженер сказал мне, что это действительно было непросто, и даже если вам это удастся, это, вероятно, повлияет на производительность.Он также указал мне на cocoawithlove и статью о редактировании uitableviews:
http://cocoawithlove.com/2009/08/adding-shadow-effects-to-uitableview.html
Действительно, создание собственного заголовка не так уж много усилий.Ниже приведен код, который я извлек из одного из моих проектов - он был закомментирован, поэтому может не сработать сразу - но вы можете понять:
- (CAGradientLayer *) greyGradient {
CAGradientLayer *gradient = [CAGradientLayer layer];
gradient.startPoint = CGPointMake(0.5, 0.0);
gradient.endPoint = CGPointMake(0.5, 1.0);
UIColor *color1 = [UIColor colorWithRed:255.0f/255.0f green:255.0f/255.0f blue:255.0f/255.0f alpha:1.0];
UIColor *color2 = [UIColor colorWithRed:240.0f/255.0f green:240.0f/255.0f blue:240.0f/255.0f alpha:1.0];
[gradient setColors:[NSArray arrayWithObjects:(id)color1.CGColor, (id)color2.CGColor, nil]];
return gradient;
}
- (UIView *) tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section {
CGFloat width = CGRectGetWidth(tableView.bounds);
CGFloat height = [self tableView:tableView heightForHeaderInSection:section];
UIView *container = [[[UIView alloc] initWithFrame:CGRectMake(0,0,width,height)] autorelease];
container.layer.borderColor = [UIColor grayColor].CGColor;
container.layer.borderWidth = 1.0f;
CAGradientLayer *gradient = [self greyGradient];
gradient.frame = container.bounds;
[container.layer addSublayer:gradient];
UILabel *headerLabel = [[[UILabel alloc] initWithFrame:CGRectMake(12,0,width,height)] autorelease];
headerLabel.backgroundColor = [UIColor clearColor];
headerLabel.font= [UIFont boldSystemFontOfSize:19.0f];
headerLabel.shadowOffset = CGSizeMake(1, 1);
headerLabel.textColor = [UIColor whiteColor];
headerLabel.shadowColor = [UIColor darkGrayColor];
NSString *title = [self tableView:tableView titleForHeaderInSection:section];
headerLabel.text = title;
return container;
}
Убедитесь, что
#import <QuartzCore/QuartzCore.h>
Кстати ... это не должно имитировать внешний вид стандартных заголовков - это всего лишь пример.Но я уверен, что с помощью проб и ошибок вы можете изменить это, чтобы имитировать стандартные, а затем слегка изменить цвета.