UITapGestureRecognizer
является частью UIKit, поэтому он должен быть объявлен, если вы импортируете <UIKit/UIKit.h>
куда-то. Однако одна проблема, которую я вижу в вашем коде, заключается в следующем:
UITapGestureRecognizer *doubleTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleDoubleTap:)];
[imageView addGestureRecognizer:doubleTap];
[doubleTap release];
…
[doubleTap setNumberOfTapsRequired:2];
В тот момент, когда вы звоните [doubleTap setNumberOfTapsRequired:2]
, у вас нет действительной ссылки на doubleTap
. Скорее всего, оно сохраняется imageView
, но это деталь реализации, на которую вы не можете положиться. Переместите вызов на -setNumberOfTapsRequired:
перед вызовом на -release
, чтобы убедиться, что это не сломается в будущей версии iOS.