Commit ff3b0d89 by Daniel Dahan

updated ordering when adding back button support for NavigationBar

parent d56c1135
...@@ -78,17 +78,15 @@ class MessagesViewController: UIViewController { ...@@ -78,17 +78,15 @@ class MessagesViewController: UIViewController {
detailLabel.textAlignment = .Left detailLabel.textAlignment = .Left
detailLabel.textColor = MaterialColor.white detailLabel.textColor = MaterialColor.white
navigationItem.titleLabel = titleLabel let image: UIImage? = UIImage(named: "ic_share_white")
navigationItem.detailLabel = detailLabel
let image: UIImage? = UIImage(named: "ic_share_white")?.imageWithRenderingMode(.AlwaysTemplate)
let shareButton: FlatButton = FlatButton() let shareButton: FlatButton = FlatButton()
shareButton.pulseScale = false shareButton.pulseScale = false
shareButton.pulseColor = MaterialColor.grey.base shareButton.pulseColor = MaterialColor.white
shareButton.tintColor = MaterialColor.grey.base
shareButton.setImage(image, forState: .Normal) shareButton.setImage(image, forState: .Normal)
shareButton.setImage(image, forState: .Highlighted) shareButton.setImage(image, forState: .Highlighted)
navigationItem.titleLabel = titleLabel
navigationItem.detailLabel = detailLabel
navigationItem.rightControls = [shareButton] navigationItem.rightControls = [shareButton]
} }
......
...@@ -379,6 +379,7 @@ public class NavigationBar : UINavigationBar { ...@@ -379,6 +379,7 @@ public class NavigationBar : UINavigationBar {
// leftControls // leftControls
if let v: Array<UIControl> = item.leftControls { if let v: Array<UIControl> = item.leftControls {
var n: Array<UIBarButtonItem> = Array<UIBarButtonItem>()
for c in v { for c in v {
if let b: UIButton = c as? UIButton { if let b: UIButton = c as? UIButton {
b.contentEdgeInsets = UIEdgeInsetsZero b.contentEdgeInsets = UIEdgeInsetsZero
...@@ -386,8 +387,16 @@ public class NavigationBar : UINavigationBar { ...@@ -386,8 +387,16 @@ public class NavigationBar : UINavigationBar {
c.grid.columns = 0 == g ? 1 : Int(ceil(c.intrinsicContentSize().width / g)) c.grid.columns = 0 == g ? 1 : Int(ceil(c.intrinsicContentSize().width / g))
columns -= c.grid.columns columns -= c.grid.columns
grid.views?.append(c)
grid.views!.append(c)
n.append(UIBarButtonItem(customView: c))
} }
// let spacer: UIBarButtonItem = UIBarButtonItem(barButtonSystemItem: .FixedSpace, target: nil, action: nil)
// spacer.width = 0
// c.append(spacer)
item.leftBarButtonItems = n.reverse()
} }
if nil == item.titleView { if nil == item.titleView {
...@@ -426,6 +435,7 @@ public class NavigationBar : UINavigationBar { ...@@ -426,6 +435,7 @@ public class NavigationBar : UINavigationBar {
// rightControls // rightControls
if let v: Array<UIControl> = item.rightControls { if let v: Array<UIControl> = item.rightControls {
var n: Array<UIBarButtonItem> = Array<UIBarButtonItem>()
for c in v { for c in v {
if let b: UIButton = c as? UIButton { if let b: UIButton = c as? UIButton {
b.contentEdgeInsets = UIEdgeInsetsZero b.contentEdgeInsets = UIEdgeInsetsZero
...@@ -435,7 +445,14 @@ public class NavigationBar : UINavigationBar { ...@@ -435,7 +445,14 @@ public class NavigationBar : UINavigationBar {
columns -= c.grid.columns columns -= c.grid.columns
grid.views!.append(c) grid.views!.append(c)
n.append(UIBarButtonItem(customView: c))
} }
// let spacer: UIBarButtonItem = UIBarButtonItem(barButtonSystemItem: .FixedSpace, target: nil, action: nil)
// spacer.width = 0
// c.append(spacer)
item.rightBarButtonItems = n.reverse()
} }
item.titleView!.grid.columns = columns item.titleView!.grid.columns = columns
...@@ -560,19 +577,7 @@ public extension UINavigationItem { ...@@ -560,19 +577,7 @@ public extension UINavigationItem {
return controls.leftControls return controls.leftControls
} }
set(value) { set(value) {
var c: Array<UIBarButtonItem> = Array<UIBarButtonItem>()
if let v: Array<UIControl> = value {
for q in v {
c.append(UIBarButtonItem(customView: q))
}
}
let spacer: UIBarButtonItem = UIBarButtonItem(barButtonSystemItem: .FixedSpace, target: nil, action: nil)
spacer.width = 0
c.append(spacer)
controls.leftControls = value controls.leftControls = value
leftBarButtonItems = c.reverse()
} }
} }
...@@ -582,19 +587,7 @@ public extension UINavigationItem { ...@@ -582,19 +587,7 @@ public extension UINavigationItem {
return controls.rightControls return controls.rightControls
} }
set(value) { set(value) {
var c: Array<UIBarButtonItem> = Array<UIBarButtonItem>()
if let v: Array<UIControl> = value {
for q in v {
c.append(UIBarButtonItem(customView: q))
}
}
let spacer: UIBarButtonItem = UIBarButtonItem(barButtonSystemItem: .FixedSpace, target: nil, action: nil)
spacer.width = 0
c.append(spacer)
controls.rightControls = value controls.rightControls = value
rightBarButtonItems = c.reverse()
} }
} }
} }
......
...@@ -73,7 +73,12 @@ public class NavigationController : UINavigationController, UINavigationBarDeleg ...@@ -73,7 +73,12 @@ public class NavigationController : UINavigationController, UINavigationBarDeleg
public func navigationBar(navigationBar: UINavigationBar, didPushItem item: UINavigationItem) { public func navigationBar(navigationBar: UINavigationBar, didPushItem item: UINavigationItem) {
if let v: NavigationBar = navigationBar as? NavigationBar { if let v: NavigationBar = navigationBar as? NavigationBar {
item.leftControls = [backButton] if var c: Array<UIControl> = item.leftControls {
c.append(backButton)
item.leftControls = c
} else {
item.leftControls = [backButton]
}
v.layoutNavigationItem(item) v.layoutNavigationItem(item)
} }
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment