     /// The width of the panel in panel displayMode
     @IBInspectable public var panelWidth: CGFloat = 325.0 {
         didSet {
-            if self.isViewLoaded
+            if oldValue != panelWidth, self.isViewLoaded
             {
                 self.view.setNeedsLayout()
             }

    /// This replaces the previous panelInsetLeft and panelInsetTop properties. Depending on what corner placement is being used, different values from this struct will apply. For example, 'topLeft' corner placement will utilize the .top, .left, and .bottom inset properties and it will ignore the .right property (use panelWidth property to specify width)
    @IBInspectable public var panelInsets: UIEdgeInsets = UIEdgeInsets(top: 10.0, left: 10.0, bottom: 10.0, right: 10.0) {
        didSet {
            if self.isViewLoaded
            {
                self.view.setNeedsLayout()
            }

    /// The radius of the drawer shadow.
    @IBInspectable public var shadowRadius: CGFloat = 3.0 {
        didSet {
            if self.isViewLoaded
            {
                drawerShadowView.layer.shadowRadius = shadowRadius
                if oldValue != shadowRadius
                {
                    self.view.setNeedsLayout()
                }
            }

        }
    }
    
    /// The offset of the drawer shadow.
    @IBInspectable public var shadowOffset = CGSize(width: 0.0, height: -3.0) {
        didSet {
            if self.isViewLoaded
            {
                drawerShadowView.layer.shadowOffset = shadowOffset
                if oldValue != shadowOffset
                {
                    self.view.setNeedsLayout()
                }
            }
        }
