Я думаю, вы можете использовать
-(void)touchesBegan:(NSSet*)touches withEvent:(UIEvent*)event
чтобы запустить NSTimer, который будет считать время для вас
и
-(void)touchesEnded:(NSSet*)touches withEvent:(UIEvent*)event
, чтобы остановить таймер и узнать, сколько раз пользователь нажал на вид, а затем вы можете сделать событие в соответствии с этим временем для длительного нажатия.
Надеюсь, это поможет вам.