2017-01-18 10 views
1

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

Пожалуйста, поделитесь своими мыслями.

+1

Вы можете использовать UITapGestureRecognizer для него – Birendra

+0

Проверьте это: [http://stackoverflow.com/questions/24141254/how-to-detect-tap-on-clear-part-of-uitableview] (http: // stackoverflow .com/вопросы/24141254/how-to-detect-tap-on-clear-part-of-uitableview) ИЛИ [http://stackoverflow.com/questions/11070874/how-can-i-distinguish-which -part -of-uitableviewcell-был нажат] (http://stackoverflow.com/questions/11070874/how-can-i-distinguish-which-part-of-uitableviewcell-has-been-clicked) –

+0

Спасибо за переигровка. Я добавлю UITapGestureRecognizer в правую часть ячейки? У меня есть текстовое поле в ячейке – Sadik

ответ

2

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

Вам не нужно реализовывать какую-либо логику в UITableView DidSelectRowForIndexPath. Необходимо управлять кнопкой.

+0

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

+0

Да, он должен поддерживать массив, но в дальнейшей обработке это будет полезно. Я также использовал этот подход. –

0

В пользовательской таблице TableView. Те, которые вы хотите не кликать, добавьте кнопку в эту область, и если кран зарегистрирован в кнопке, то didselectitem в indexPath не будет называться. Я сам сделал аналогичную реализацию.

My TableView Implementation

+0

Я постараюсь сделать это. спасибо – Sadik

+0

Поскольку вы используете Objective-C, это точная из коробки решение для вас –

+0

удалите дополнительную таблицуView и подстройте код, и вам хорошо идти, если вам нужно какое-либо сравнение, пожалуйста, прокомментируйте здесь здесь –

0

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

+0

Проблемы более если я реализую таким образом. вы должны поддерживать выбор кнопок для видимых и невидимых строк. – Sadik

+0

Я думаю, что это неважно, если вы используете класс модели и используете массив для заполнения данных в каждой ячейке. – Sunny

+0

Вы также можете добавить UIView в ячейку и отключить ее взаимодействие с пользователем. Я думаю, это будет лучше. Попробуй. – Sunny

1

В вашем UITableViewCell подкласс переопределяет метод pointInside:withEvent: и возвращает YES только для точек внутри области, которую вы хотите.