It won't stretch REALLY high, because it will look bad, but this can get you out of dodge, create a stretchable image which uses a graphic of the original header (any iphone template png/psd has these readily extractable).
Then
UIImage *image = [UIImage imageNamed:@"tableHeader.png"];
UIImage *stretchImage = [image stretchableImageWithLeftCapWidth:5.0 topCapHeight:2.0];
UIImageView *backgroundImage = [[UIImageView alloc] initWithFrame:frame];
[backgroundImage setImage:stretchImage];
and either return that as part of the UIView you construct in your:
- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section{
method or (better still) add it as the background of whatever UIView subclass instance you're returning in that method.
Clearly, any width works, I've found I can get it up to 55pixels high without looking naff. Best answer is to replicate the gradient.. I'm too nooby for that though :)