Я уверен, что вы видите, что это происходит, потому что вы переопределяете метод, который был ранее определен для суперкласса. Это означает, что события не вызываются.
Вы пытались позвонить [super touchesBegan]? таким образом обрабатываются все исходные данные. и вы можете переопределить жест смахивания.
или другой вариант - вызвать делегата при обнаружении касания в вашем собственном методе касаний.
что-то вроде (возможно, у вас также будут реализации других сенсорных событий)
-(void) touchesBegan
{
//logic to detect tap only.
[tablecell.delegate didSelectRowAtIndexPath:(some way to determin touched row)]
}