On Jun 28, 2012, at 19:57 , Graham Cox wrote:
> - (void) touchesBeganWithEvent:(NSEvent*) event
> {
> NSSet* touches = [event touchesMatchingPhase:NSTouchPhaseBegan
> inView:self.view];
>
> if([touches count] == 2 )
Well, this looks wrong to me. In general, each of the 2 touches is going to
begin at a different time, which means this method will be called twice, and
there's only be one touch in the set at each call. (The touch that began
earlier is in a different phase at this event.)
I would expect this code to work only if both fingers hit the trackpad
simultaneously. That's probably not very hard to do, which is why it works
sometimes but only flakily.
I think what you need to to is add up *all* the touches in all phases [well, at
least in "began" and "moved" phases, not sure about the others] at *any* of the
touch responder methods, to work out how many touches are present
simultaneously. Even that won't ensure that the touches begin close together in
time, though, which you may or may not care about.
_______________________________________________
Cocoa-dev mailing list ([email protected])
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com
This email sent to [email protected]