     override open func didAddSubview(_ subview: UIView) {
         super.didAddSubview(subview)
         
-        subview.addObserver(self, forKeyPath:"isHidden", options: [.new, .old], context: nil)
+        subview.addObserver(self, forKeyPath:"hidden", options: [.new, .old], context: nil)
         subview.addObserver(self, forKeyPath:"frame", options: [.new, .old], context: nil)
         subview.addObserver(self, forKeyPath:"center", options: [.new, .old], context: nil)
 

        super.willRemoveSubview(subview)
        
        subview.tg_layoutCompletedDo(nil)
        subview.removeObserver(self, forKeyPath: "isHidden")
        subview.removeObserver(self, forKeyPath: "frame")
        subview.removeObserver(self, forKeyPath: "center")


        
        
        
        if (keyPath == "frame" || keyPath == "hidden" || keyPath == "center")
        {
            
            if !self.tg_isLayouting
