         self.presentAnimation = presentAnimation
         self.dismissAnimation = dismissAnimation
         self.interactiveDismissAnimation = interactiveDismissAnimation
+        self._keyboard = QKeyboard()
+        self._keyboardHeight = 0
         super.init()
     }
 

        if self._contentSizeConstraints.count > 0 {
            self.viewController.view.addConstraints(self._contentSizeConstraints)
        }
    }

    @objc

        self.viewController.dialogDidPressedOutside()
    }

}

// MARK: IQKeyboardObserver

extension QDialogViewController : IQKeyboardObserver {
    
    public func willShowKeyboard(_ keyboard: QKeyboard, animationInfo: QKeyboardAnimationInfo) {
        self._keyboard(duration: animationInfo.duration, height: animationInfo.endFrame.height)
    }
    
    public func didShowKeyboard(_ keyboard: QKeyboard, animationInfo: QKeyboardAnimationInfo) {
    }

    public func willHideKeyboard(_ keyboard: QKeyboard, animationInfo: QKeyboardAnimationInfo) {
        self._keyboard(duration: animationInfo.duration, height: 0)
    }
    
    public func didHideKeyboard(_ keyboard: QKeyboard, animationInfo: QKeyboardAnimationInfo) {
    }
    
}

// MARK: UIGestureRecognizerDelegate
