【发布时间】:2011-03-07 09:00:04
【问题描述】:
如果用户输入设备具有一维滚轮或二维触控板/magicMouse,我正在寻找一种在[NSResponder scrollWheel:] 中可靠地区分的方法?
首先我想实现一个不同的行为。
但是仅仅看一下NSEvent 的deltaX 会有点弱。
有什么建议吗?
【问题讨论】:
标签: objective-c cocoa macos appkit
如果用户输入设备具有一维滚轮或二维触控板/magicMouse,我正在寻找一种在[NSResponder scrollWheel:] 中可靠地区分的方法?
首先我想实现一个不同的行为。
但是仅仅看一下NSEvent 的deltaX 会有点弱。
有什么建议吗?
【问题讨论】:
标签: objective-c cocoa macos appkit
使用事件的子类型:
enum {
NSMouseEventSubtype = NX_SUBTYPE_DEFAULT,
NSTabletPointEventSubtype = NX_SUBTYPE_TABLET_POINT,
NSTabletProximityEventSubtype = NX_SUBTYPE_TABLET_PROXIMITY
NSTouchEventSubtype = NX_SUBTYPE_MOUSE_TOUCH
};
即使在禁用惯性滚动的情况下也可以使用。
【讨论】:
您可以使用私有方法调用[theEvent _scrollPhase] 来判断设备是否正在使用惯性滚动,这表示Apple 提供的输入设备。 (注意:如果用户禁用了惯性滚动,这将不起作用)
【讨论】: