UIButton操作未使用UIMapGestureRecognizer iphone应用程序调用



我使用UIMapGestureRecognizer和UIButton在iPhone应用程序中工作。我已经在self.view中添加了UIMapGestureRecognizer。当我点击UIButton时,它不会调用它的动作——点击手势动作只调用。如何解决这个问题?有人能帮忙解决这个问题吗?

这是我在-ViewDidLoad,中的代码

UITapGestureRecognizer *tapRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleTapFrom:)];
    [self.view addGestureRecognizer:tapRecognizer];
    [tapRecognizer release];
UIButton *infoButton1 = [UIButton buttonWithType:UIButtonTypeInfoDark];
    infoButton1.frame = CGRectMake(0, 5, 30, 30);
    infoButton1.tag = 1;
    infoButton1.opaque = YES;
    [infoButton1 addTarget:self action:@selector(infoAlert:) forControlEvents:UIControlEventTouchUpInside | UIControlEventTouchUpOutside];
    [toolBarView1 addSubview:infoButton1]; 
-(void) infoAlert:(id) sender
{
    NSLog(@"Get Info Alert"); // Here the control not calling..
}

-(void)handleTapFrom:(UITapGestureRecognizer *)recognizer
{    
    NSLog(@"%@",[NSString stringWithFormat:@"%d", recognizer.view.tag]); // Whenever i touch the button this method only calling.
}

请帮我解决这个问题。提前谢谢。

为什么没有人使用栈溢出或谷歌的精彩搜索?

以下是您的答案:https://stackoverflow.com/a/3348532/312312

从同一个线程来看,这似乎是一个更简单的解决方案:https://stackoverflow.com/a/8891030/312312

这是最好的解决方案:在您声明您的tapRecognizer(我指的是您的问题代码)后,添加以下内容:

  tapRecognizer.cancelsTouchesInView = NO;

相关内容

最新更新