У меня есть приложение к окончательному ответу. В то время как основная схема правильна, хитрость использования частично прозрачного цвета может быть улучшена. Я предполагаю, что это только для того, чтобы пропустить градиент по умолчанию. Кроме того, высота TabBar составляет 49 пикселей, а не 48, по крайней мере, в OS 3.
Итак, если у вас есть подходящее изображение размером 1 x 49 с градиентом, вам следует использовать версию viewDidLoad:
- (void)viewDidLoad {
[super viewDidLoad];
CGRect frame = CGRectMake(0, 0, 480, 49);
UIView *v = [[UIView alloc] initWithFrame:frame];
UIImage *i = [UIImage imageNamed:@"GO-21-TabBarColorx49.png"];
UIColor *c = [[UIColor alloc] initWithPatternImage:i];
v.backgroundColor = c;
[c release];
[[self tabBar] addSubview:v];
[v release];
}