2010-06-16 3 views
2

J'ai donc mon application qui fonctionne bien lorsque vous appuyez et faites glisser le long. J'ai aussi mis UIButtons à Touch Down dans Interface Builder.touchesBegin & touchesMove Xcode Obj. C Question

De même, lorsque vous faites glisser, vous devez faire glisser depuis l'extérieur de l'UIButton. Vous ne pouvez pas cliquer sur l'UIButton et faire glisser vers l'autre.

TOUCHES propose:

code:

-(void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event { 

UITouch *touch = [[event touchesForView:self.view] anyObject]; 
CGPoint location = [touch locationInView:touch.view]; 

if(CGRectContainsPoint(oneButton.frame, location)) 
{ 
    if (!oneButton.isHighlighted){ 
     [self oneFunction]; 
     [oneButton setHighlighted:YES]; 
    } 
}else { 
    [oneButton setHighlighted:NO]; 
} 
// 
if(CGRectContainsPoint(twoButton.frame, location)) 
{ 
    if (!twoButton.isHighlighted){ 
     [self twoFunction]; 
     [twoButton setHighlighted:YES]; 
    } 
}else { 
    [twoButton setHighlighted:NO]; 
} 

}

TOUCHES COMMENCÉ:

code:

- (void) touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { 

    UITouch *touch = [[event touchesForView:self.view] anyObject]; 

CGPoint location = [touch locationInView:touch.view]; 

if(CGRectContainsPoint(oneButton.frame, location)) 
{ 
    [self oneFunction]; 
    [oneButton setHighlighted:YES]; 
} 
if(CGRectContainsPoint(twoButton.frame, location)) 
{ 
    [self twoFunction]; 
    [twoButton setHighlighted:YES]; 
} 

}

Je veux être en mesure de cliquer sur l'un des bouton feu la fonction & également être en mesure de faire glisser d'un bouton sur l'autre et de déclencher cette fonction. Donc, simplement en étant capable de cliquer sur un bouton et de glisser votre doigt sur et activer l'autre bouton sans avoir à appuyer sur et à glisser de l'extérieur du bouton

Je pense que je suis proche, besoin d'un peu d'aide. J'espère que c'est assez clair.

Merci.

+0

La meilleure place pour ceci est dans l'objectif-c et pas c. – BobbyShaftoe

+0

Ce code a l'air bien. Que ne fait-il pas que tu le veux? –

+0

@Jeff La chose qui ne marche pas, c'est que lorsque je touche l'un des UIButton, je peux faire glisser mon doigt sur un autre pour déclencher cette fonction. Je dois faire glisser mon doigt de l'extérieur de l'un des boutons UIB. – AndrewDK

Répondre

1

Essayé quelque chose de différent. En utilisant cela a fonctionné beaucoup mieux:

if(CGRectContainsPoint(myObject.frame, location) && lastButton != myObject) { 

Utilisé dans touchesBegan & touchesMoved.

Questions connexes