【发布时间】:2014-09-13 22:07:54
【问题描述】:
当用户点击图片时,我有这个命令:
- (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;
现在 touch Began 方法无法识别图像中的更多触摸,我该如何解决?
【问题讨论】:
-
你有没有从
UIScollView继承你自己的类?如果没有,你怎么能指望那个班级会把–touchesBegan:withEvent:传给你呢?UIScollView基本上从其子视图中“窃取”触摸,除非您直接覆盖它... -
如何直接覆盖它?
-
例如在您自己的继承自
UISCrollView的类中。
标签: ios objective-c uiscrollview touchesbegan