         self.bounds.origin = CGPoint(x: contentOffset.x - contentInset.left,
                                      y: contentOffset.y - contentInset.top)
         updateScrollers()
-        setNeedsLayout()
+        setNeedsDisplay()
     }
     
     private func updateScrollers() {

            contentOffset.y = (contentSize.height - scrollerBounds.size.height)
        }
        
        contentOffset.x = max(contentOffset.x, 0)
        contentOffset.y = max(contentOffset.y, 0)
        
        if contentSize.width <= scrollerBounds.size.width {
            contentOffset.x = 0
        }

            contentOffset.y = confinedOffset.y
        }
        
        self.contentOffset = contentOffset
    }
    
    private func confined(delta: CGPoint, animated: Bool = false) -> CGPoint {
