我有这个命令,用于在用户点击图像时捕获:
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
UITouch *touch = [touches anyObject];
CGPoint touchLocation = [touch locationInView:self.view];
if(CGRectContainsPoint(card1.frame,touchLocation))
{
cardSelected = @"pagseguro";
[card1.layer setBorderColor: [[UIColor redColor] CGColor]];
[card1.layer setBorderWidth: 1.0];
[card2.layer setBorderColor: [[UIColor blackColor] CGColor]];
[card2.layer setBorderWidth: 1.0];
}
if(CGRectContainsPoint(card2.frame,touchLocation))
{
cardSelected = @"sumup";
[card1.layer setBorderColor: [[UIColor blackColor] CGColor]];
[card1.layer setBorderWidth: 1.0];
[card2.layer setBorderColor: [[UIColor redColor] CGColor]];
[card2.layer setBorderWidth: 1.0];
}
}
这段代码在我输入scrollView之前完美运行,我按如下方式拉动屏幕滚动:
[self.view addSubview:scroll];
scroll.contentSize = scroll.frame.size;
scroll.frame = self.view.frame;
现在触摸开始方法无法识别图像中出现的更多触摸,我该如何解决?
答案 0 :(得分:0)
默认情况下,请尝试imageView.userInteractionEnabled = YES
,imageView
上没有。
如果您在控制器中实现touchesBegan:withEvent:
,它将无法正常工作,因为它将调用UIView
的子类,因此您需要继承ScrollView
并需要覆盖此方法。
如果UITapGestureRecognizer
不起作用,则另一个选择是使用userInteractionEnabled
。