问题描述
问题
我正在尝试使用以下逻辑拦截对视图的触摸:
- 确定
UITouch.TouchType
是否为.pencil
- 如果不是
.pencil
,请通过触摸查看下方 - 否则如果
.pencil
,处理触摸。 (UIGestureRecognizer
)
我的尝试
经过一些研究,我发现允许触摸由下面的视图处理的方法是使用 point(inside:with:)
并在需要时返回 false
。
如果我想使用 CGPoint
位置来确定 Bool,这很好,但在我的情况下,我需要访问 UITouch
本身。
我尝试使用传递给函数的 UIEvent
来访问与该事件关联的触摸,但这只会返回一个空的 UITouch
集。
这是我用来实现这种方法的子类:
class ThroughtouchesPKCanvasView: PKCanvasView {
override func point(inside point: CGPoint,with event: UIEvent?) -> Bool {
print("Override point")
if let event = event{
print(event.alltouches) //prints: Optional(Set([]))
return super.point(inside: point,with: event)
} else {
return super.point(inside: point,with: event)
}
}
}
所以,总而言之,根据用户是否使用 Apple Pencil 进行触摸,我如何将触摸传递到下面的视图?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)