     
     //MARK: UI
     func setupUI() {
-        self.translatesAutoresizingMaskIntoConstraints = false
+        translatesAutoresizingMaskIntoConstraints = false
         clipsToBounds = true
-        
-        self.setNeedsUpdateConstraints() // Bootstrap auto layout
+
+		addSubview(scrollView)
+		scrollView.addSubview(stackView)
+
+        setNeedsUpdateConstraints() // Bootstrap auto layout
     }
     
     // Scrolls to item at index

        fatalError("init(coder:) has not been implemented")
    }
    
    override public init(frame: CGRect) {
        super.init(frame: frame)
    
        // ScrollView
        scrollView = UIScrollView(frame: self.frame)
        scrollView.translatesAutoresizingMaskIntoConstraints = false
        scrollView.layoutMargins = .zero
        self.addSubview(scrollView)
        
        // StackView
        stackView = UIStackView(frame: scrollView.frame)
        stackView.translatesAutoresizingMaskIntoConstraints = false
        stackView.axis = .vertical
        stackView.spacing = spacing
        stackView.distribution = .equalSpacing
        scrollView.addSubview(stackView)
    }

    //MARK: View life cycle
    override public func didMoveToSuperview() {

@objc public class ScrollableStackView: UIView {
    
    fileprivate var didSetupConstraints = false
    @objc @IBInspectable open var spacing: CGFloat = 8
    @objc open var durationForAnimations:TimeInterval = 1.45
    
