                 let chooseButton = UIButton()
                 chooseButton.translatesAutoresizingMaskIntoConstraints = false
                 chooseButton.setTitle("Choose", for: .normal)
+                chooseButton.setTitleColor(.gray, for: .highlighted)
                 chooseButton.addTarget(self, action: #selector(onChooseButtonTouch(_ :)), for: .touchUpInside)
                 chooseButton.isOpaque = false
                 

    /**
     The inset of the circle mask rect's area within the crop view's area in portrait orientation. Default value is `15.0f`.
     */
    var portraitCircleMaskRectInnerEdgeInset: CGFloat = 0
    
    /**
     The inset of the square mask rect's area within the crop view's area in portrait orientation. Default value is `20.0f`.
     */
    var portraitSquareMaskRectInnerEdgeInset: CGFloat = 0
    
    /**
     The vertical space between the top of the 'Move and Scale' label and the top of the crop view in portrait orientation. Default value is `64.0f`.
     */
    var portraitMoveAndScaleLabelTopAndCropViewTopVerticalSpace: CGFloat = 0
    
    /**
     The vertical space between the bottom of the crop view and the bottom of the 'Cancel' button in portrait orientation. Default value is `21.0f`.
     */
    var portraitCropViewBottomAndCancelButtonBottomVerticalSpace: CGFloat = 0
    
    /**
     The vertical space between the bottom of the crop view and the bottom of the 'Choose' button in portrait orientation. Default value is `21.0f`.
     */
    var portraitCropViewBottomAndChooseButtonBottomVerticalSpace: CGFloat = 0
    
    /**
     The horizontal space between the leading of the 'Cancel' button and the leading of the crop view in portrait orientation. Default value is `13.0f`.
     */
    var portraitCancelButtonLeadingAndCropViewLeadingHorizontalSpace: CGFloat = 0
    
    /**
     The horizontal space between the trailing of the crop view and the trailing of the 'Choose' button in portrait orientation. Default value is `13.0f`.
     */
    var portraitCropViewTrailingAndChooseButtonTrailingHorizontalSpace: CGFloat = 0
    
    /**
     The inset of the circle mask rect's area within the crop view's area in landscape orientation. Default value is `45.0f`.
     */
    var landscapeCircleMaskRectInnerEdgeInset: CGFloat = 0
    
    /**
     The inset of the square mask rect's area within the crop view's area in landscape orientation. Default value is `45.0f`.
     */
    var landscapeSquareMaskRectInnerEdgeInset: CGFloat = 0
    
    /**
     The vertical space between the top of the 'Move and Scale' label and the top of the crop view in landscape orientation. Default value is `12.0f`.
     */
    var landscapeMoveAndScaleLabelTopAndCropViewTopVerticalSpace: CGFloat = 0
    
    /**
     The vertical space between the bottom of the crop view and the bottom of the 'Cancel' button in landscape orientation. Default value is `12.0f`.
     */
    var landscapeCropViewBottomAndCancelButtonBottomVerticalSpace: CGFloat = 0
    
    /**
     The vertical space between the bottom of the crop view and the bottom of the 'Choose' button in landscape orientation. Default value is `12.0f`.
     */
    var landscapeCropViewBottomAndChooseButtonBottomVerticalSpace: CGFloat = 0
    
    /**
     The horizontal space between the leading of the 'Cancel' button and the leading of the crop view in landscape orientation. Default value is `13.0f`.
     */
    var landscapeCancelButtonLeadingAndCropViewLeadingHorizontalSpace: CGFloat = 0
    
    /**
     The horizontal space between the trailing of the crop view and the trailing of the 'Choose' button in landscape orientation. Default value is `13.0f`.
     */
    var landscapeCropViewTrailingAndChooseButtonTrailingHorizontalSpace: CGFloat = 0
    
    // private
    

                let cancelButton = UIButton()
                cancelButton.translatesAutoresizingMaskIntoConstraints = false
                cancelButton.setTitle("Cancel", for: .normal)
                cancelButton.setTitleColor(.gray, for: .highlighted)
                cancelButton.addTarget(self, action: #selector(onCancelButtonTouch(_ :)), for: .touchUpInside)
                cancelButton.isOpaque = false
                _cancelButton = cancelButton
                return cancelButton
            }
