Как изменить синий выбор UITableViewCell? - PullRequest
1 голос
/ 29 июня 2010

Я пытался перезаписать метод доступа для -selectedBackgroundView в пользовательском подклассе UITableViewCell. Тем не менее, ячейка продолжает использовать синий фон выделения по умолчанию, когда ячейка выбрана. Как это изменить?

Я на самом деле почти уверен, что эта синяя выделенная вещь - selectedBackgroundView ... что еще должно отвечать за этот синий фон с градиентом света? Странная вещь, однако, в том, что contentView выше этого, и хотя он имеет backgroundColor, отличный от [UIColor clearColor], этот selectedBackgroundView все еще просвечивает. Действительно странно.

Ответы [ 2 ]

7 голосов
/ 29 июня 2010

Вы должны просто поместить этот код в "cellForRowAtIndexPath"

. Для отключения ячейки выберите: (при нажатии на ячейку)

cell.selectionStyle = UITableViewCellSelectionStyleNone;

Для включения ячейки: (при нажатии на ячейкуячейка)

cell.selectionStyle = UITableViewCellSelectionStyleBlue;(By Default)

cell.selectionStyle = UITableViewCellSelectionStyleGray;

Если вы хотите задать свой собственный цвет, тогда в cellForRowAtIndexPath "

if (cell==nil)

{  
 cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:nil] autorelease];
 UIView *v = [[[UIView alloc] init] autorelease];
    v.backgroundColor = [UIColor redColor];
    cell.selectedBackgroundView = v;
}

Всего наилучшего.

1 голос
/ 30 июня 2010

Похоже, вы просто хотите добавить

self.selectionStyle = UITableViewCellSelectionStyleNone;

для инициализации вашего пользовательского класса. Вы также можете переопределить метод setSelected: animated:, если вы хотите выполнить какую-либо тяжелую обработку.

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