пользовательский UIView в UITableViewCell блокирует uitableviewcell от получения события

У меня есть собственный UITableViewCell, т.е. я подклассифицирую класс UITableViewCell при заполнении каждой ячейки (или строки) uitableview, я создаю свой собственный UITableViewCell, который состоит из изображения и некоторых меток.

теперь, когда я переопределяю следующий метод в своем пользовательском классе UITableViewCell,

 - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {

    NSLog(@"CLICKED CLICKED CELL CLICKED CLICKED");
    [super touchesBegan:touches withEvent:event];
 }

он никогда не вызывается, если я нажимаю на настраиваемые представления, которые я добавил в свой пользовательский uitableviecell, но это нормально (событие срабатывает), когда я нажимаю на область, где нет настраиваемого представления поверх него.

моя цель проста, я хочу обнаружить любые касания в каждой строке (uitableviewcell) в uitableview.


person user1118019    schedule 23.05.2012    source источник
comment
Установили ли вы свойство взаимодействия с пользователем для подвидов в вашей uitableviewcell?   -  person lu yuan    schedule 23.05.2012


Ответы (2)


Сегодня у меня возникла аналогичная проблема: я не смог выбрать ячейку, так как на ней был настраиваемый UIView с прокруткой. Попробуйте установить userInteractionIsEnabled = false в своих подвидах вашего UIView.

person Yunus Nedim Mehel    schedule 01.11.2012

пожалуйста, попробуйте переопределить этот метод

 - (void) touchesEnded: (NSSet *) touches withEvent: (UIEvent *) event {}   
person lu yuan    schedule 23.05.2012
comment
спасибо за ответ, но это не работает. у него такая же проблема, как описано. пользовательское представление блокирует событие... - person user1118019; 23.05.2012
comment
@user1118019 user1118019 :) если пользовательские представления представляют собой изображение и метки, я думаю, все в порядке. Вы пытались NSLog в методе touchesEnded? - person lu yuan; 23.05.2012
comment
@ user1118019 кнопка заблокирует событие. - person lu yuan; 25.05.2012