Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

UITableViewHeaderFooterView can't change custom background when loading from nib

I've created a custom UITableViewHeaderFooterView and successfully load from nib into my UITableView but always get this message

"Setting the background color on UITableViewHeaderFooterView has been deprecated. Please use contentView.backgroundColor instead."

Here the code for loading my custom UITableViewHeaderFooterView:

- (UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section {
   KTHeaderFooterViewIphone customHeaderIphone* = [[[NSBundle mainBundle] loadNibNamed:@"KTHeaderFooterViewIphone" owner:self options:nil] objectAtIndex:0];
    customHeaderIphone.tintColor = [UIColor whiteColor];  // this code worked, but the message above always show
    customHeaderIphone.contentView.backgroundColor = [UIColor redColor];  // this code doesn't work, nothing's happened
    customHeaderIphone.contentView.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"customHeader.png"]];  // this code doesn't work too, I can't change custom background image
    return customHeaderIphone;

}

like image 326
HoangNA Avatar asked Sep 14 '13 10:09

HoangNA


1 Answers

Did you set the "Background Color" attribute on the footer view in your nib? If so, set that to "Default".

Also you may want to consider doing

customHeaderIphone.backgroundView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"customHeader"]];

and not setting the backgroundColor at all. This is Apple's preferred method according to this link.

like image 123
Adlai Holler Avatar answered Nov 12 '22 17:11

Adlai Holler