我在 UIScrollView 中有一个图像,并且我有在用户拖动手指时绘制文本的代码。我希望能够控制,当用户触摸屏幕时,如果
a) 用户应该用他们的手指来画画或者
b) 用户应该用手指移动滚动视图
我有一个布尔值来跟踪用户在做什么。我有接触方法:
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
UITouch *mytouch=[[touches allObjects] objectAtIndex:0];
if(draw == false) {
printf("calling super");
[scrollView touchesBegan:touches withEvent:event];
}
else
[myPath moveToPoint:[mytouch locationInView:self]];
}
-(void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
{
UITouch *mytouch=[[touches allObjects] objectAtIndex:0];
if(draw == false)
[scrollView touchesMoved:touches withEvent:event];
else {
[myPath addLineToPoint:[mytouch locationInView:self]];
[self setNeedsDisplay];
}
为什么这不起作用?基本上,如果我不画画,我会调用滚动视图的 touchesBegan 和 touchesMoved。如果我正在绘画,我会使用 myPath 进行绘画。
但是,当 draw 为 false 时,滚动视图不会四处移动或放大等。