1. Welcome to the new MacRumors forums. See our announcement and read our FAQ

TochesMoved question

Discussion in 'iPhone/iPad Programming' started by alexandergre, Dec 1, 2009.

  1. macrumors member

    alexandergre

    #1
    What I am trying to do is that if you want to move myButton, your finger has to be on myButton.
    Right now if you drag anywhere on the screen, myButton is also moved. How can I fix it?

    thanks for you help.


    Code:
    BOOL FingerOnButton;
    @implementation Stockholm
    
    
    -(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
    {
    	CGPoint touchPoint = [[touches anyObject] locationInView:myControlView];
    	[self dispatchFirstTouchAtPoint:touchPoint forEvent:nil];
    	
    }
    
    
    
    
    -(void)dispatchFirstTouchAtPoint:(CGPoint)touchPoint forEvent:(UIEvent *)event
    {
    	if (CGRectContainsPoint([myButton frame], touchPoint)) 
    		 FingerOnButton =TRUE;
    	
    	else
    	 FingerOnButton =FALSE;
    }
    
    
    
    
    
    -(void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
    {  
    	CGPoint touchPoint = [[touches anyObject] locationInView:myControlView];
    	for (UITouch *touch in touches) {
    		[self dispatchTouchEvent:[touch view] toPosition:touchPoint];
    	}
    }
    
    
    
    
    -(void)dispatchTouchEvent:(UIView *)theView toPosition:(CGPoint)position
    {
    	
    	if(FingerOnButton =TRUE){
    		
    		myButton.center=CGPointMake(position.x, 20);
    }
    }
    
    bump
    basicly my question is:
    how to activate touch only on a specific area?
     

Share This Page