Hello all. in my iPad app I have a superview screen size and there im placing smaller subviews, when I touch one of those I need to place on top another custom view which draw a circle around the taped subview, so the subview is exactly in the middle of the circle which is drawn in that view on top of it so give a fell of selections, + another functionality I need to do with that circle, like rotate the subview i tapped. Anyway, now ,if I tap somewhere between the edge of the circle and the beginning of the view bellow, I remove the circle's view but then I need to have the view bellow with the touch I did before in order to move it..
Now the symptoms are : I touch in the described area, the circles view disappears, but I can't move the view bellow the touch I initiated on the circle's view, I need to lift the finger and then I can move the view I touch. I tried subclassing UIWindow and overwritting sendEvent method, checking if I have a subview under the touch to call that views touches methods and then call [super send:event ]. but for a touch began I get the touch, but again for moving I get nothing. this is what I did there: NSSet *touches = [event allTouches]; NSLog(@"size of set %i",[touches count]); UITouch * aTouch = [touches anyObject]; UIView * viewUnderPoint; CGPoint p = [aTouch locationInView:itemsView]; if((viewUnderPoint = [itemsView hitTest:p withEvent:event])){ NSLog(@"Found a view under %@",[[viewUnderPoint class] description]); NSMutableSet *began = nil; NSMutableSet *moved = nil; NSMutableSet *ended = nil; NSMutableSet *cancelled = nil; for(UITouch *touch in touches) { switch ([touch phase]) { case UITouchPhaseBegan: if (!began) began = [NSMutableSet set]; [began addObject:touch]; break; case UITouchPhaseMoved: if (!moved) moved = [NSMutableSet set]; [moved addObject:touch]; break; case UITouchPhaseEnded: if (!ended) ended = [NSMutableSet set]; [ended addObject:touch]; break; case UITouchPhaseCancelled: if (!cancelled) cancelled = [NSMutableSet set]; [cancelled addObject:touch]; break; default: break; } } // call our methods to handle the touches if (began) [viewUnderPoint touchesBegan:began withEvent:event]; if (moved) [viewUnderPoint touchesMoved:moved withEvent:event]; if (ended) [viewUnderPoint touchesEnded:ended withEvent:event]; if (cancelled) [viewUnderPoint touchesCancelled:cancelled withEvent:event]; } based on the docs, so I dunno if there is a way to get a view which is under another one on top, receive the touches I did on that top most view. Any ideas? Thx Gustavo _______________________________________________ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) 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: http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com