2013-03-06 3 views
1

Это странная проблема! Я использую API UIAppearance для создания стиля UITableViewCells. Я использую следующий код для стилей UITableViewCell.UIAppearance не стиль UITableViewCell

// table cell 
    id tableCellAppearance = [UITableViewCell appearance]; 
    [tableCellAppearance setBackgroundView:[theme imageViewForTableViewCellBackground]]; 

// table cell 
-(UIImageView *) imageViewForTableViewCellBackground 
{ 
    UIImageView *backgroundView = [[UIImageView alloc] init]; 
    [backgroundView setImage:[UIImage imageNamed:@"tile_heading_background"]]; 

    return backgroundView; 
} 

Когда я запускаю приложение и вижу UITableViewCells, в ячейке UITableView используется только 1 ячейка. Ячейка посередине. Почему это?

+0

где вы вызываете этот метод imageViewForTableViewCellBackground? – nsgulliver

+0

Просто вспомогательный метод, чтобы получить UIImageView в качестве фона для UITableViewCell. Вышеупомянутый код вызывается только один раз в делегате приложения. Я считаю, что проблема в том, что ячейки динамически генерируются, и API внешнего вида не поддерживает применение стилей к динамически созданным элементам управления. –

+2

Почему бы вам не реализовать CustomTableViewCell? – nsgulliver

ответ

2

CustomUITableViewCell Создать и внедрить <UIAppearance> протокол

CustomCell.h

@interface CustomCell : UITableViewCell <UIAppearance> 

@property (nonatomic, weak) UIColor *backgroundCellColor UI_APPEARANCE_SELECTOR; 

CustomCell.m

@implementation CustomCell 

@synthesize backgroundCellColor; 

-(void)setBackgroundCellColor:(UIColor *)backgroundColor 
{ 
    [super setBackgroundColor:backgroundColor]; 
} 

Наконец использовать CustomCell в вашем VI ew and set background or image

[[CustomCell appearance] setBackgroundCellColor:[UIColor redColor]]; 
+1

Sweet! Я это попробую. Спасибо за советы! –

+0

Я попробовал, и это не сработало. Я попытался изменить backgroundView UITableViewCell, но он не применяет стиль ко всем UITableViewCells. –

+0

@johndoe try this [tutorial] (http://46media.net/xcode-turorials/customize-the-appearance-of-uitableview-and-uitableviewcell-in-xcode-4/) у него есть рабочий код с видео – nsgulliver

Смежные вопросы