私のアプリケーションでは、マウスからのスクロールホイールアクションのみで、トラックパッド上の2本の指ジェスチャーではなく、スクロールを実行します。基本的には、scrollWheelEventがマウスまたはトラックパッドから生成されているかどうかを判断しようとしています。 - (void)scrollWheel:(NSEvent *)theEventメソッド。今まで私が知っていることから、これを達成するための直接的な方法はないようです。Mac Cocoa:NSScrollWheelイベントがマウスまたはトラックパッドのものかどうかを区別する方法は?
ブール変数をtrueとfalseに設定することを回避しようとしました。 - (void)beginGestureWithEvent:(NSEvent *)event; - (void)endGestureWithEvent:(NSEvent *)イベント。 endGestureWithEvent:メソッドが呼び出された後、scrollWheel:メソッドが複数回呼び出されるため、これは解決策ではありません。私はこれが標準ではない何かを知っている
$BOOL fromTrackPad = NO;
-(void)beginGestureWithEvent:(NSEvent *)event;
{
fromTrackPad = YES;
}
-(void) endGestureWithEvent:(NSEvent *)event;
{
fromTrackPad = NO;
}
- (void)scrollWheel:(NSEvent *)theEvent
{
if(!fromTrackPad)
{
//then do scrolling
}
else
{
//then don't scroll
}
}
が、これは私の要件です:
は、ここに私のコードです。誰もこれを行う方法を知っていますか?ありがとう!
これは、はるかに低いレベルで何かのように聞こえます。ユーザーがトラックパッドとマウスで同時にスクロールするとどうなりますか? – TheAmateurProgrammer
こんにちはTheAmateurProgrammerは、私が言及したように、私が掲示した質問は標準的なものではありません。私はこの機能を実装する方法を探していて、どんなアイデアも高く評価されています。 – AProgrammer