2015-04-10 3 views
0

Я использую пользовательские ячейки подкласса UITableViewCell в виде таблицы. И между ячейками должно быть пространство. Я успешно добавляю пространство с добавлением subview, которое я назвал SpaceView в представлении содержимого. Но когда я коснулся spaceView, это воспринимается, когда я коснулся клетки. И вызвал метод didSelectRow. Я попытался установить spaceView UserInteractionEnabled==NO. Но это не сработает.Отключение сенсорного взаимодействия пространств между ячейкой пользовательского табличного представления

Итак, мой вопрос: Правильно ли я использовал для добавления пространства между ячейками? Должен ли я попытаться добавить ячейки для создания пространства? или Если это правильный путь, как я могу предотвратить вызов метода didSelectRowAtIndexPath при касании spaceView?

+0

Я думаю, что вы ищете '[tableView setAllowsSelection: NO];' – iphonic

ответ

0

Сделать свой spaceView в UIButton (я думаю, сейчас это UIView)

При добавлении UIButton, что прикосновение будет потребляться с помощью кнопки, таким образом, контакт не будет передано его родителей.

ИЛИ

Я не уверен, будет ли он работать или нет, вы можете добавить водопроводный жест к вашим spaceView

+0

Это не работает, потому что делегат didselectRowAtIndexPath вызвал, когда содержимое содержимого ячейки коснулось. Когда я добавляю Button, он становится подчиненным представлением содержимого ячейки. –

+0

Мустафа работал в моем образце. Вы можете скачать этот [образец отсюда] (https://www.dropbox.com/s/exg521g76cbgac3/ObjcTest.zip?dl=0) –

1

как Индер сказанного ниже, и можно использовать UIButton решить эту проблему.

1) в пользовательской ячейке: в нижней части пользовательской ячейки добавьте пустой UIButton с высотой, которая действительно нужна между ячейками, и настройте ее цвет фона в соответствии с вашими потребностями.

2) в cellforrowatindexpath: кнопка отключения каждой ячейки. (или вы также можете сделать это в интерфейсе Builder предыдущего шага).

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