2013-06-27 8 views
0

Je fais un glisser un code dans lequel je suis en train de glisser, maintenant le problème est que quand je commence à le faire glisser lentement, ça marche cool, mais quand j'ai commencé à le faire glisser rapidement.Comment puis-je augmenter la vitesse de traînée du bouton?

Comment puis-je augmenter la vitesse de traînée?

- (void)wasDragged:(UIButton*)button withEvent:(UIEvent*)event{ 
    CGPoint previousLocation; 
    CGPoint location; 
    UITouch *touch = [[event touchesForView:button] anyObject]; 
    previousLocation = [touch previousLocationInView:button]; 
    location = [touch locationInView:button]; 
    CGFloat delta_x = location.x - previousLocation.x; 
    CGFloat delta_y = location.y - previousLocation.y; 
    button.center = CGPointMake(button.center.x + delta_x,button.center.y + delta_y); 
} 
+0

Que signifie "bouton gauche pendant le glisser"? Comment faites-vous pour que 'wasDragging: withEvent:' soit appelé? –

+0

a chuté pendant la traînée! J'ai fait un clavier personnalisé et sur ses boutons j'ai appelé un sélecteur qui appelle ce sélecteur. [a1 addTarget: action de soi: @selector (wasDragged: withEvent:) forControlEvents: UIControlEventTouchDragInside]; – Brad

Répondre

0

simplement vous pouvez simplement régler le delta

CGFloat delta_x = location.x - previousLocation.x; 
CGFloat delta_y = location.y - previousLocation.y; 

delta_x *= 1.5; //the factor of the speed 
delta_y *= 1.5; 

button.center = CGPointMake(button.center.x + delta_x,button.center.y + delta_y); 
+0

merci ça a marché! mais maintenant avoir un autre problème son manque le bouton signifie quand je commence à faire glisser le bouton va plus vite que le doigt. – Brad

+0

ne comprends pas vraiment vos moyens, vous voulez que la vitesse de votre doigt soit la même que celle du bouton? – adali

+0

signifie que j'ai commencé à faire glisser le bouton avec mon doigt sur l'ipad .. Je le fais à la vitesse normale, mais le bouton se déplace d'un pas en avant du doigt. – Brad

0

pourquoi vous ne pas vous venez de définir button.center coordonates comme location.x et location.y? beacause location.x et location.y sont les coordonnées de l'endroit où se trouve votre doigt, et il devrait y avoir le centre du bouton

Questions connexes