UITableView - выделение выделенной ячейки [iOS]
Я создал UITableView с настройкой TableCell, обычно следуя этому руководству;
http://www.theappcodeblog.com/?p=353
Я настроил его на свои нужды, и он выглядит фантастически. Однако, когда я выбираю строку, она выделяет эту строку, изменяя всю синюю вещь. Эта подсветка охватывает всю ячейку и переопределяет контент, эффективно создавая большую синюю коробку, которая выглядит скверно. Я попробовал альтернативные варианты выделения
cell.selectionStyle = UITableViewCellSelectionStyleNone;
cell.selectionStyle = UITableViewCellSelectionStyleBlue;
cell.selectionStyle = UITableViewCellSelectionStyleGray;
Очевидно, что если выбрано серым, то такое же поведение происходит, но с серым уродливым ящиком. "None" является желательным вариантом в минуту, но не дает хорошего опыта для моих пользователей, поскольку я хотел бы дать некоторые указания, что они выбрали эту строку.
Может ли кто-нибудь предложить способ показать, что строка highligted, но все же показывать текст под ним? Полупрозрачность?
Спасибо
Ответы
Ответ 1
Возможно, это потому, что ваш пример кода:
artistLabel.highlightedTextColor = [UIColor clearColor];
.
Это приведет к тому, что цвет текста artistLabel станет прозрачным, когда он будет выделен.
Из-за этого вы можете установить свой собственный цвет в свойстве highlightTextColor ваших меток, например:
[UIColor whiteColor]
Ответ 2
Ячейка UITableView выбрана Цвет
Enjoy...
// Image
UIImage *selectionBackground = [UIImage imageNamed:@"g7.png"];
UIImageView *bgview=[[UIImageView alloc] initWithImage:selectionBackground];
cell.selectedBackgroundView=bgview;
[bgview release];
или
// Color
UIView *bgColorView = [[UIView alloc] init];
[bgColorView setBackgroundColor:[UIColor brownColor]];
[cell setSelectedBackgroundView:bgColorView];
[bgColorView release];
Ответ 3
u может использовать собственный вид настройки пользователя для выбора
здесь у меня есть зеленый цвет. Например, это может изменить любую настройку, которую вы хотите на этом.
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithFrame: CGRectZero
reuseIdentifier: CellIdentifier] autorelease];
UIView *selectionView = [[UIView alloc]initWithFrame:cell.bounds];
[selectionView setBackgroundColor:[UIColor greenColor]];
cell.selectedBackgroundView = selectionView;
[selectionView release];
}