Пользовательский UITableViewCell с использованием прокси UIAppearance

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

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

но это не работает

Любая идея?

2 ответа

Решение

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

.час:

- (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"]];

// попробуй это

   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;
Другие вопросы по тегам