UIPinchGestureRecognizer Escale la vista en diferentes direcciones x e y

no quiero usar la escala como zoom clásico, en cambio, quiero cambiar la forma de cuadrantes a un rectángulo, por ejemplo. Después de mucho intentarlo, estoy tan lejos que mis dedos son las esquinas del rectángulo. Entonces, si comienzo un nuevo gesto de pellizco dentro de mi vista, se vuelve más pequeño para mis dedos en lugar de hacerse más grande como lo hace la escala norma

if ([gestureRecognizer numberOfTouches] >1) {
    //getting width and height between gestureCenter and one of my finger
    float x = [gestureRecognizer locationInView:self].x - [gestureRecognizer locationOfTouch:0 inView:self].x;
    if (x<0) {
        x *= -1;
    }
    float y = [gestureRecognizer locationInView:self].y - [gestureRecognizer locationOfTouch:0 inView:self].y;
    if (y<0) {
        y *= -1;
    }
    //double size cause x and y is just the way from the middle to my finger
    float width = x*2;
    if (width < 1) {
        width = 1;
    }
    float height = y*2;
    if (height < 1) {
        height = 1;
    }
    self.bounds = CGRectMake(self.bounds.origin.x , self.bounds.origin.y , width, height);
    [gestureRecognizer setScale:1];
    [[self layer] setBorderWidth:2.f];
}

¿Alguien sabe una forma de hacer una X-Y-Scale que no cambie el tamaño de mis dedos como esquinas? @

Muchas gracia

Respuestas a la pregunta(1)

Su respuesta a la pregunta