2013-07-03 2 views
0

Я хотел бы установить пользовательское изображение для всех видов аксессуаров UITableViewCell в моем приложении. Я пробовал использовать этот код:Пользовательский UITableViewCell с использованием прокси-сервера UIAppearance

[[UITableViewCell appearance] setAccessoryView:[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"table-arrow.png"]]]; 

но он не работает.

Любая идея?

ответ

3

Попробуйте создать пользовательский селектор внешнего вида в категории UITableViewCell. Вот пример реализации:

.h:

- (void)setAccessoryViewImage:(UIImage *)image UI_APPEARANCE_SELECTOR; 

.m:

- (void)setAccessoryViewImage:(UIImage *)image { 
    self.accessoryView = [[UIImageView alloc] initWithImage:image]; 
} 

И чем вы можете настроить все клетки с помощью прокси-объекта:

[[UITableViewCell appearance] setAccessoryViewImage:[UIImage imageNamed:@"table-arrow.png"]]; 
+0

Genius, не понимал, что было легко добавить UI_APPEARANCE_SELECTOR в представления. – powerj1984

1

// попробовать это

cell.accessoryType = UITableViewCellAccessoryNone; 
    UIImageView *imgArrow = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 10, 15)] ; 
    imgArrow.image = [UIImage imageNamed:@"table-arrow.png"]; 
    cell.accessoryView = imgArrow; 
    [imgArrow release]; 
    imgArrow = nil; 
+0

спасибо за ваш ответ, но мне нужно сделать это с помощью прокси-сервера Apperance, чтобы избежать выполнения этой операции для каждого отдельного контроллера экрана в моем стр. – Claus

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