     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] = []
 }
 

        self._scrollView.size = self.size
        self._rearrangeTagViewsStartingFromIndex(0, animated: false)
        self._updateScrollViewContentHeight()
    }
}


        scrollView.contentSize = self.size
        self._scrollView = scrollView
        self.addSubview(scrollView)
    }
    
    private func _setupGradientLayer() {
        let white: UIColor = UIColor.whiteColor()
        let gradient: CAGradientLayer = CAGradientLayer()
        gradient.frame.size.height = self._gradientHeight
        gradient.colors = [white.withAlpha(0).CGColor, white.CGColor]
        self._gradientLayer = gradient
        self.layer.addSublayer(gradient)
        
        self._updateGradientLayerFrame()
    }
    
    private func _updateGradientLayerFrame() {
        self._gradientLayer.frame.bottom = self.height
        self._gradientLayer.frame.size.width = self.width
    }
}

