Как я могу отключить выбор UITableView? - PullRequest
1152 голосов
/ 10 октября 2008

При нажатии строки в UITableView строка выделяется и выделяется. Можно ли отключить это, так что нажатие строки ничего не делает?

Ответы [ 36 ]

5 голосов
/ 10 апреля 2014
cell.selectionStyle = UITableViewCellSelectionStyleNone;
5 голосов
/ 25 августа 2013

Лучшим решением будет Создание стиля выбора Нет

[cell setSelectionStyle:UITableViewCellSelectionStyleNone];

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

5 голосов
/ 08 октября 2013

Вы можете использовать ....

[cell setSelectionStyle:UITableViewCellSelectionStyleNone];
2 голосов
/ 17 декабря 2012

Лучшим подходом будет:

cell.userInteractionEnabled = NO;

Этот подход не вызовет didSelectRowAtIndexPath: метод.

2 голосов
/ 25 апреля 2013

По крайней мере, начиная с iOS 6, вы можете переопределить методы в своей пользовательской ячейке, чтобы предотвратить выделение синим цветом. Никакое другое взаимодействие не отключено или не затронуто. Все три должны быть отменены.

- (void) setHighlighted:(BOOL)highlighted
{
}

- (void) setHighlighted:(BOOL)highlighted animated:(BOOL)animated
{
}

- (void) setSelected:(BOOL)selected animated:(BOOL)animated
{
}
1 голос
/ 14 сентября 2018

Вы можете отключить выделение ячейки таблицы, используя код ниже (iOS) Xcode 9, Swift 4.0

 func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {


        let cell = tableView.dequeueReusableCell(withIdentifier: "OpenTbCell") as! OpenTbCell
        cell.selectionStyle = .none
        return cell


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