0

如果我只是在 Xcode 4.3.2 上启动一个全新的 Single View App 项目,并使用以下代码:

@implementation ViewController

- (void)viewDidLoad
{
    [super viewDidLoad];

    UIImageView *imageView = [[UIImageView alloc] 
                              initWithImage:[UIImage imageNamed:@"pic.jpg"]];
    [self.view addSubview:imageView];

    self.view.userInteractionEnabled = YES;
    self.view.multipleTouchEnabled = YES;

    UITapGestureRecognizer* tapRecognizer = [[UITapGestureRecognizer alloc] 
                               initWithTarget:self action:@selector(handleTap:)];
    tapRecognizer.numberOfTapsRequired = 1;

    [imageView addGestureRecognizer:tapRecognizer];
}

-(void) handleTap:(UIGestureRecognizer *) gesture {
    NSLog(@"Image tapped on");
}

handleTap即使我点击图像,也不会调用该方法......这里有什么不正确的吗?

4

2 回答 2

4

您需要在图像视图中启用触摸(因为默认情况下禁用),而不是在控制器的视图中:

imageView.userInteractionEnabled = YES;
于 2012-05-21T12:21:43.313 回答
0

<UIGestureRecognizerDelegate>在你的头文件中@interface 的末尾吗?

于 2012-05-21T12:21:06.910 回答