Xcode UITapGestureReconizer错误
我的UITapGestureReconizer出现错误,如“UITapGestureReconizer未声明”。因为UITapGestureReconizer在一个具体类中,所以不应该声明它吗?我该如何修复它。。。下面是它第一次出现在代码中的地方Xcode UITapGestureReconizer错误,xcode,uigesturerecognizer,Xcode,Uigesturerecognizer,我的UITapGestureReconizer出现错误,如“UITapGestureReconizer未声明”。因为UITapGestureReconizer在一个具体类中,所以不应该声明它吗?我该如何修复它。。。下面是它第一次出现在代码中的地方 - (void)loadView { [super loadView]; // set the tag for the image view [imageView setTag:ZOOM_VIEW_TAG]; //
- (void)loadView {
[super loadView];
// set the tag for the image view
[imageView setTag:ZOOM_VIEW_TAG];
// add gesture recognizers to the image view
UITapGestureRecognizer *doubleTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleDoubleTap:)];
[imageView addGestureRecognizer:doubleTap];
[doubleTap release];
UITapGestureRecognizer *twoFingerTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleTwoFingerTap:)];
[imageView addGestureRecognizer:twoFingerTap];
[twoFingerTap release];
[doubleTap setNumberOfTapsRequired:2];
[twoFingerTap setNumberOfTouchesRequired:2];
// calculate minimum scale to perfectly fit image width, and begin at that scale
float minimumScale = [imageScrollView frame].size.width / [imageView frame].size.width;
[imageScrollView setMinimumZoomScale:minimumScale];
[imageScrollView setZoomScale:minimumScale];
}
UITapGestureRecognizer
是UIKit的一部分,因此只要您在某处导入
,就应该声明它。但是,我在代码中看到的一个问题是:
UITapGestureRecognizer *doubleTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleDoubleTap:)];
[imageView addGestureRecognizer:doubleTap];
[doubleTap release];
…
[doubleTap setNumberOfTapsRequired:2];
在调用[doubleTap setNumberOfTapsRequired:2]
时,您没有对doubleTap
的有效引用。它很可能由imageView
保留,但这是一个无法依赖的实现细节。在调用-release
之前,将调用移动到-setNumberOfTapsRequired:
,以确保这不会在未来版本的iOS中中断