【发布时间】:2010-10-22 22:00:29
【问题描述】:
iPhone 开发新手。我有一个包含 UIScrollView 的视图,其中包含 UIImageView。我在图像视图上添加了一个(双击)手势识别器,它打开了一个警告框。出于某种原因,我确定我只是智障,它打开了 3 次。
这是我的代码:
- (void)viewDidLoad {
scrollView.delegate = self;
UIImage* image = imageView.image;
imageView.bounds = CGRectMake(0, 0, image.size.width, image.size.height);
scrollView.contentSize = image.size;
UITapGestureRecognizer *tapGesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleTapGesture:)];
tapGesture.numberOfTapsRequired = 2;
[imageView addGestureRecognizer:tapGesture];
[tapGesture release];
NSLog(@"LOADED");
[super viewDidLoad];
}
-(IBAction) handleTapGesture:(UIGestureRecognizer *) sender {
CGPoint tapPoint = [sender locationInView:imageView];
int tapX = (int) tapPoint.x;
int tapY = (int) tapPoint.y;
NSLog(@"TAPPED X:%d Y:%d", tapX, tapY);
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Hello" message:@"How are you?" delegate:nil cancelButtonTitle:@"I'm awesome." otherButtonTitles:nil];
[alert show];
[alert release];
}
我几天前刚开始开发 iPhone。这个问题让我想起了我在 javascript 中处理过的事件冒泡问题。有什么想法吗?
【问题讨论】:
-
哦,似乎值得注意的是 NSLog 并非全部出现 3 次。
标签: iphone objective-c gesture-recognition uitapgesturerecognizer