我的问题涉及创建一个控件,类似于文本视图控件中的苹果放大镜,您可以触摸一秒钟左右弹出放大镜,然后拖动手指选择所需位置。
我已经创建了所有检测长时间静止触摸所需的方法。现在我需要检测我手指滑过的UIView。我不太确定如何使这个功能实现,有没有人能指点我一下?
我的问题涉及创建一个控件,类似于文本视图控件中的苹果放大镜,您可以触摸一秒钟左右弹出放大镜,然后拖动手指选择所需位置。
我已经创建了所有检测长时间静止触摸所需的方法。现在我需要检测我手指滑过的UIView。我不太确定如何使这个功能实现,有没有人能指点我一下?
– touchesBegan:withEvent:
– touchesMoved:withEvent:
– touchesEnded:withEvent:
– touchesCancelled:withEvent:
如果您想要报告触摸的UIViews可以继承,并在子类中定义一个委托方法,在上述方法内部调用该方法。通过将委托设置为某个中央报告类,您可以识别所有接收到触摸和视图的触摸。
不要忘记传递触摸事件,例如:
[[self superview] touchesBegan:touches withEvent:event];
如果您希望触摸事件正常工作。
//Just detected that the finger is stationary
MyView *touchedView = [containerView hitTest:touchPoint withEvent:event];
[touchedView performSomeAction];
你应该进行一些类检查,以确保视图实际上是可以响应触摸的视图。