Черный UITableViewCell DetailОткрытие дополнительной кнопки? - PullRequest
1 голос
/ 15 июля 2009

Есть ли способ изменить стандартную UITableViewCellAccessoryDetailDisclosureButton вспомогательную кнопку с синего цвета на черный?

Ответы [ 3 ]

13 голосов
/ 16 июля 2009

Нет "стандартного" черного, но это не так много работы, чтобы выполнить то, что вы просите.

Создайте (в фотошопе или в чем-то подобном) собственную черную версию кнопки раскрытия подробностей. Вы можете выбрать экран и раскрасить его, если это проще. Затем добавьте его в качестве ресурса в ваш проект и поместите в UIImage следующим образом:

UIImage myImage = [UIImage imageNamed:@"blackbutton.png"];

Затем создайте UIImageView, который содержит это изображение:

UIImageView *imageView = [[UIImageView alloc] initWithImage:myImage];

Наконец, затем вы можете назначить это «вспомогательному виду» для уже настроенной ячейки:

[cell setAccessoryView:imageView];

Надеюсь, это поможет!

// РЕДАКТИРОВАТЬ - я чувствовал, что в фотошопе было 5 минут, поэтому я создал для вас черный веселиться!

удалена мертвая ссылка ImageShack

1 голос
/ 17 октября 2013

Существует намного более простое решение на iOS7. Используйте свойство tintColor для UIView. Подклассы, как правило, уважают его, и показатель раскрытия информации не является исключением.

UIView *v = [[cell subviews] lastObject];
        v = v.subviews.count ? [v.subviews objectAtIndex:0] : nil; // v is the disclosure indicator
        if ([v respondsToSelector:@selector(setTintColor:)])
            v.tintColor = [UIColor greenColor];
1 голос
/ 19 декабря 2012

Ответ от h4xxr не работал для меня полностью в iOS 5.1.1 (нажатие на вспомогательное представление не вызывало метод tableView:accessoryButtonTappedForRowWithIndexPath), поэтому я изменил его решение с помощью этого связанного ответа , используя UIButton с изображением, а не UIView, который может вызывать пользовательский селектор при нажатии:

UIImage *myImage = [UIImage imageNamed:@"blackaccessorybutton.png"];
UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
button.frame = CGRectMake(0, 0, myImage.size.width, myImage.size.height);
[button setImage:myImage forState:UIControlStateNormal];
[button addTarget: self
           action: @selector(toggleCustomDetailDisclosureButton:)
 forControlEvents: UIControlEventTouchUpInside];
[cell setAccessoryView:button];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...