 			layoutSubviews()
 		}
 	}
+    
+    /// A reference to the line UIView.
+    internal var line: UIView!
+    
+    /// The line color.
+    open var lineColor: UIColor? {
+        get {
+            return line.backgroundColor
+        }
+        set(value) {
+            line.backgroundColor = value
+        }
+    }
+    
+    /// A value for the line alignment.
+    open var lineAlignment = TabBarLineAlignment.bottom {
+        didSet {
+            layoutSubviews()
+        }
+    }
+    
+    /// The line height.
+    open var lineHeight: CGFloat {
+        get {
+            return line.height
+        }
+        set(value) {
+            line.height = value
+        }
+    }
     
     /// Layer Reference.
     open internal(set) var divider: Divider!

}

open class TabBar: View {
    /// A reference to the line UIView.
    internal var line: UIView!
    
    /// The line color.
    open var lineColor: UIColor? {
        get {
            return line.backgroundColor
        }
        set(value) {
            line.backgroundColor = value
        }
    }
    
	/// A value for the line alignment.
	open var lineAlignment = TabBarLineAlignment.bottom {
		didSet {
			layoutSubviews()
		}
	}
    
    /// The line height.
    open var lineHeight: CGFloat {
        get {
            return line.height
        }
        set(value) {
            line.height = value
        }
    }
	
	/// Will render the view.
	open var willRenderView: Bool {
		return 0 < width && 0 < height && nil != superview
	}

    open override var intrinsicContentSize: CGSize {
        return CGSize(width: width, height: 49)
    }
    
    /// The currently selected button.
    open var selected: UIButton?
    
	/// Buttons.
	open var buttons = [UIButton]() {
