     
     /**
     Adds `UIPinchGestureRecognizer` instance to receiver.
-    
-    Since this method returns receiver instance, it supports chain calls.
+    Block will be called the first time only. After that, gesture recognizer will be removed from receiver.
+    
+    Since this method returns receiver instance, it supports chain calls.
+    
+    **Note**: After first recognition, gesture recognizer will be removed from view.
     
     - parameters:
         - block: Called when `UIPinchGestureRecognizer` instance changes its state.
+        - configurePinchGestureRecognizer: Allows to configure `UIPinchGestureRecognizer` instance.
+            It's recommended to change settings of gesture recognizer inside of this block.
+     
+            For example, you can save `UIPinchGestureRecognizer`'s reference somewhere to control it later.
+            But it's not necessary since `block` (the first parameter) gives you a full control of the gesture.
+    
+    - returns:
+        Receiver instance for support of chain calls.
+    */
+    public func onPinchOnce(block: SNPinchGestureRecognizerHandlerBlock, configurePinchGestureRecognizer: SNPinchGestureRecognizerConfigurationBlock) -> UIView {
+        /*
+         * Obtain handler block for gesture recognizer.
+         */
+        
+        let handlerBlockForPinchGestureRecognizer: SNPinchGestureRecognizerHandlerBlock = { (pinchGestureRecognizer) in
+            block(pinchGestureRecognizer: pinchGestureRecognizer)
+            self.removeGestureRecognizer(pinchGestureRecognizer)
+        }
+        
+        
+        /*
+         * Create gesture recognizer instance.
+         */
+        
+        let pinchGestureRecognizer = SNPinchGestureRecognizer(handlerBlock: handlerBlockForPinchGestureRecognizer)
+        
+        
+        /*
+         * Add gesture recognizer to receiver.
+         */
+        
+        addGestureRecognizer(pinchGestureRecognizer)
+        
+        
+        /*
+         * Call configuration block for gesture recognizer.
+         */
+        
+        configurePinchGestureRecognizer(pinchGestureRecognizer: pinchGestureRecognizer)
+        
+        
+        /*
+         * Return receiver's instance for support of chain calls.
+         */
+        
+        return self
+    }
+    
+    /**
+    Adds `UIPinchGestureRecognizer` instance to receiver.
+    
+    Since this method returns receiver instance, it supports chain calls.
+    
+    - parameters:
+        - block: Called when `UIPinchGestureRecognizer` instance changes its state.
     
     - returns:
         Receiver instance for support of chain calls.

         */
        
        let pinchGestureRecognizer = SNPinchGestureRecognizer(handlerBlock: block)
        
        
        /*

    
    /**
    Adds `UIRotationGestureRecognizer` instance to receiver.
    Block will be called the first time only. After that, gesture recognizer will be removed from receiver.
    
    Since this method returns receiver instance, it supports chain calls.
    
    **Note**: After first recognition, gesture recognizer will be removed from view.
    
    - parameters:
        - block: Called when `UIRotationGestureRecognizer` instance changes its state.
        - configureRotationGestureRecognizer: Allows to configure `UIRotationGestureRecognizer` instance.
            It's recommended to change settings of gesture recognizer inside of this block.
     
            For example, you can save `UIRotationGestureRecognizer`'s reference somewhere to control it later.
            But it's not necessary since `block` (the first parameter) gives you a full control of the gesture.
    
    - returns:
        Receiver instance for support of chain calls.
    */
    public func onRotationOnce(block: SNRotationGestureRecognizerHandlerBlock, configureRotationGestureRecognizer: SNRotationGestureRecognizerConfigurationBlock) -> UIView {
        /*
         * Obtain handler block for gesture recognizer.
         */
        
        let handlerBlockForRotationGestureRecognizer: SNRotationGestureRecognizerHandlerBlock = { (rotationGestureRecognizer) in
            block(rotationGestureRecognizer: rotationGestureRecognizer)
            self.removeGestureRecognizer(rotationGestureRecognizer)
        }
        
        
        /*
         * Create gesture recognizer instance.
         */
        
        let rotationGestureRecognizer = SNRotationGestureRecognizer(handlerBlock: handlerBlockForRotationGestureRecognizer)
        
        
        /*
         * Add gesture recognizer to receiver.
         */
        
        addGestureRecognizer(rotationGestureRecognizer)
        
        
        /*
         * Call configuration block for gesture recognizer.
         */
        
        configureRotationGestureRecognizer(rotationGestureRecognizer: rotationGestureRecognizer)
        
        
        /*
         * Return receiver's instance for support of chain calls.
         */
        
        return self
    }
    
    /**
    Adds `UIRotationGestureRecognizer` instance to receiver.
    
    Since this method returns receiver instance, it supports chain calls.
    
    - parameters:
        - block: Called when `UIRotationGestureRecognizer` instance changes its state.
    
    - returns:
        Receiver instance for support of chain calls.
