Found out that a tableview was holding all of the buttons and was overriding every bit of that code I had written, I changed the tableview code and now it works, thanks to everyone for their help :)
I changed the code to check what was being added, if a button was being added then to set the background image and set the text color to white, else to do what it did before. I will post the code later as I am typing from a PC right now and not the Mac.
Edit: Here is the code:
if ([cellControl isKindOfClass:[UIButton class]]) {
static NSString *kCellButton = @"CellButton";
cell = [tableView dequeueReusableCellWithIdentifier:kCellButton];
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:kCellButton] autorelease];
cell.backgroundView =[[UIImageView alloc] initWithImage:[[UIImage imageNamed:@"button_large"] stretchableImageWithLeftCapWidth:0.0 topCapHeight:5.0]];
cell.textLabel.textColor = [[[ConfigManager sharedInstance].skin valueForKey:@"tableCellHeadingTextColourButton"] toUIColor];
cell.textLabel.textAlignment = UITextAlignmentCenter;
cell.textLabel.font = [UIFont boldSystemFontOfSize:19];
}
cell.textLabel.text = [cellData objectForKey:kCellTitleKey];
}
Once I added this it worked fine, I added the background image within the cellview because I have may buttons so the code is much more efficient this way.