2016-08-08 59 views
2

Ich versuche zu vergrößern und verkleinern in einem UIView mit UIPinchGestureRecognizer. Aber wenn ich auf mein Trackpad klicke, erkennt es die Prise nicht und die Steuerung geht nicht zu meiner twoFingerPinch Funktion. Ich verwende den folgenden Code.UIPinchGestureRecognizer in UIView funktioniert nicht richtig

- (void)viewDidLoad { 
//....... 
UIPinchGestureRecognizer *twoFingerPinch = [[UIPinchGestureRecognizer alloc] 
         initWithTarget:self 
         action:@selector(twoFingerPinch:)]; 
    [myview addGestureRecognizer:twoFingerPinch]; 
//..... 
} 

- (void)twoFingerPinch:(UIPinchGestureRecognizer *)recognizer 
{ 
    NSLog(@"Pinch scale: %f", recognizer.scale); 
    if (recognizer.scale >1.0f && recognizer.scale < 2.5f) { 
     CGAffineTransform transform = CGAffineTransformMakeScale(recognizer.scale, recognizer.scale//); 
     myview.transform = transform; 
    } 
} 

Warum erkennt es nicht die Prise von Trackpad? Gibt es eine andere Methode, um das Gleiche zu tun?

+1

ist decalred myView in IB? –

+0

Verwenden Sie das Optionsfeld zum Quetschen der Geste – Raul

+0

@TejaNandamuri: Ja. –

Antwort

3

Klicken Sie zuerst auf die Schaltfläche Option. Sie erhalten 2 graue Punkte, die Sie mit der Maus oder dem Trackpad bewegen können. In älteren Versionen müssen Sie die Umschalt + Option drücken.

für weitere Details überprüfen this.

+0

Verstanden. Vielen Dank. Es war nicht der Fehler in meinem Code. Ich wusste nicht, wie man mit der Option-Taste klemmt. –

1

Stellen Sie sicher, dass userInteractionEnabled-yes für Ihre myview gesetzt,

myview.userInteractionEnabled = YES;