Как сделать UITableViewCellAccessoryDisclosureIndicator видимым на черном фоне? - PullRequest
8 голосов
/ 30 октября 2008

cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;

в этом методе

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath;

но я вижу это только когда выбираю эту ячейку, иначе она не видна. И она отлично работает, когда фон белый. Я уверен, что мне нужно установить свойство, но я не знаю, какое свойство мне нужно изменить, чтобы эта штука работала.

спасибо заранее.

веселит.

Ответы [ 4 ]

9 голосов
/ 09 августа 2009

Я столкнулся с этой же проблемой и просто создал UIImageView из imageWithName @ "AccDisclosure.png" UIView, используя следующую поспешно смоделированную графику, которую вы можете свободно копировать: http://thinkingman.com/db/downloads/AccDisclosure.png (если просто щелкнув эту ссылку, вы, вероятно, ничего не увидите, поскольку это белое изображение с прозрачным фоном, но если вы сохраните его и посмотрите на темном фоне, вы увидите альфа).

7 голосов
/ 30 октября 2008

Может показаться, что индикатор раскрытия представляет собой серое изображение с высоким альфа-уровнем, поэтому его наложение на черный фон делает его невидимым. Если вы хотите сделать это, вам нужно добавить свой собственный UIImageView в contentView ячейки.

1 голос
/ 08 апреля 2010

Следующий код позволяет мне установить цвет фона кончика стрелки в строке таблицы:

@property (nonatomic,retain) UILabel *backgroundLabel;

UILabel *label = [[UILabel alloc] initWithFrame:CGRectZero];
label.backgroundColor = [UIColor orangeColor]; 
self.backgroundLabel = label;
[self.contentView addSubview:label];
[label release];

CGRect labelRect = CGRectOffset(contentRect,0, 0);
labelRect.size.height = contentRect.size.height - 1; // show white line
labelRect.size.width = contentRect.size.width + 50; // cover arrow tip background
backgroundLabel.frame = labelRect;    
backgroundLabel.highlightedTextColor = [UIColor whiteColor];
0 голосов
/ 24 мая 2010

Я принял решение, в котором я добавил ImageView с addSubView обычным способом, с изображением, которое не было черным (в моем случае, серым заполненным кругом) в месте, где появляется аксессуар.

Это позволяет стрелке быть видимой и по-прежнему иметь темный / черный цвет фона ячейки таблицы.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...