In my app I have a floorplan (an image) drawn in a UIScrollView. There are 
annotations on the floorplan that are drawn in a UIView that overlays the 
scroll view. I do this because I don't want the annotations to change size as 
the user zooms the scroll view, only position.

I have a tap gesture recognizer on my overlay view that lets me respond to taps 
on the annotations, but the overlay has userInteractionEnabled set to false so 
the UIScrollView can be pinched and zoomed. I KVO the scroll view and update my 
annotations as it's manipulated. So far, this has worked fine (except during 
zoom bounce, but that's a separate issue).

Now I need to add a new kind of annotation that can be moved by the user. I 
want a touch inside one of these annotations to prevent UIScrollView panning, 
and instead initiate a drag.

To do that, I need to override touchesBegan:/Moved:/Ended:. That means I have 
to enable user interaction on my view. But by the time my tap gesture 
recognizer has called me back and I can determine the tap occurred in one of 
these moveable annotations, it's too late for the events to go to the view.

This is rapidly becoming hard to implement, and I could probably eventually 
figure things out through trial and error, but I'm curious as to what 
suggestions the community has (short of me implementing my own scroll view, 
which I'd like to avoid).


-- 
Rick



Attachment: signature.asc
Description: Message signed with OpenPGP using GPGMail

_______________________________________________

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]

Reply via email to