如果用户输入设备有一维滚轮或二维trackPad / magicMouse,我正在寻找一种可以在[NSResponder scrollWheel:]
内可靠区分的方法吗?
在第一个我想实现不同的行为。
但只是看看NSEvent
的deltaX会有点弱。
有什么建议吗?
答案 0 :(得分:3)
使用活动的子类型:
enum {
NSMouseEventSubtype = NX_SUBTYPE_DEFAULT,
NSTabletPointEventSubtype = NX_SUBTYPE_TABLET_POINT,
NSTabletProximityEventSubtype = NX_SUBTYPE_TABLET_PROXIMITY
NSTouchEventSubtype = NX_SUBTYPE_MOUSE_TOUCH
};
即使禁用惯性滚动,这也能正常工作。
答案 1 :(得分:-1)
您可以使用私有方法调用[theEvent _scrollPhase]
来判断设备是否使用惯性滚动,这表示Apple提供的输入设备。 (注意:如果用户禁用了惯性滚动,这将不起作用)