     public override init(frame: CGRect) {
         super.init(frame: frame)
         self._setupScrollView()
+        self._setupGradientLayer()
     }
     
     // Private Constant Stored Properties
-    private let _interItemSpacing: CGFloat = 5
     private let _interItemSpacing: CGFloat = 8
+    private let _gradientHeight: CGFloat = 20
     
     // Private Variable Stored Properties
     private var _scrollView: UIScrollView!
+    private var _gradientLayer: CAGradientLayer!
+    
     private var _tagViews: [TagView] = []
 }
 

        scrollView.contentSize = self.size
        self._scrollView = scrollView
        self.addSubview(scrollView)
    }
}


    private func _updateScrollViewContentHeight() {
        if let lastTagView: TagView = self._tagViews.last {
            let height: CGFloat = max(lastTagView.bottom, self.height)
            self._scrollView.contentSize.height = height + self._gradientHeight
        }
    }
}
