Я создал UITableView с настройкой TableCell, как правило, следуя этому руководству;
http://www.theappcodeblog.com/?p=353
Я настроил его под свои нужды, и он выглядит фантастически. Однако, когда я выбираю строку, он выделяет эту строку, меняя все на синий. Эта подсветка покрывает всю ячейку и перекрывает содержимое, создавая большую синюю рамку, которая выглядит неприятно. Я пробовал альтернативные варианты выделения
cell.selectionStyle = UITableViewCellSelectionStyleNone;
cell.selectionStyle = UITableViewCellSelectionStyleBlue;
cell.selectionStyle = UITableViewCellSelectionStyleGray;
Очевидно, что при выборе серого цвета происходит то же самое, но с серым уродливым прямоугольником. «Нет» - желательный вариант в данный момент, но он не дает хороших впечатлений моим пользователям, поскольку я хотел бы указать, что они выбрали эту строку.
Может ли кто-нибудь предложить способ показать, что строка выделена, но все же отображать текст под ней? Полупрозрачность?
Благодарность
3 ответа
Возможно, это потому, что ваш пример кода устанавливает:
artistLabel.highlightedTextColor = [UIColor clearColor];
.
Это приведет к тому, что цвет текста ArtistLabel станет прозрачным, когда он будет выделен.
Конечно, вы можете установить свой собственный цвет для свойства highlightedTextColor ваших ярлыков, например:
[UIColor whiteColor]
Цвет выделенной ячейки UITableView
Наслаждайтесь ...
// 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];
Вы можете использовать свой собственный вид настройки для выбора
Здесь у меня вид зеленого цвета. вот так вы можете изменить любую настройку, которую хотите.
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];
}
Похожие вопросы
Новые вопросы
iphone
НЕ ИСПОЛЬЗУЙТЕ этот тег, если вы не обращаетесь конкретно к iPhone и / или iPod touch от Apple. Для вопросов, не зависящих от оборудования, используйте тег [ios]. Больше тегов, которые нужно рассмотреть, это [xcode] (но только если вопрос касается самой IDE), [swift], [target-c] или [cocoa-touch] (но не [cocoa]). Пожалуйста, воздержитесь от вопросов, касающихся iTunes App Store или iTunes Connect. Если вы используете C #, пометьте [mono].