         superview?.removeObserver(self, forKeyPath: contentOffsetKeyPath, context: &KVOContext)
         if (newSuperview != nil && newSuperview.isKindOfClass(UIScrollView)) {
             newSuperview.addObserver(self, forKeyPath: contentOffsetKeyPath, options: .Initial, context: &KVOContext)
-            defaultBounces = (newSuperview as UIScrollView).bounces
+            scrollViewBouncesDefaultValue = (newSuperview as UIScrollView).bounces
         }
     }
     


        var scrollView = superview as UIScrollView
        var insets = scrollView.contentInset
        scrollView.bounces = self.defaultBounces
        UIView.animateWithDuration(0.3, animations: { () -> Void in
            scrollView.contentInset = UIEdgeInsets(top: 0, left: insets.left, bottom: insets.bottom, right: insets.right)
        }) { (Bool) -> Void in

    
    public let labelTitle: UILabel = UILabel()

    private var scrollViewBouncesDefaultValue = false
    
    private var previousOffset: CGFloat = 0
    private var pullToRefreshAction: (() -> ()) = {}
    private var layerLoader: CAShapeLayer = CAShapeLayer()
    private var layerSeparator: CAShapeLayer = CAShapeLayer()
    private var loading: Bool = false {
        
        didSet {
            if loading {
