Commit efd0aea4 by Daniel Dahan

development: updated NavigationBar layout logic

parent 5975857b
...@@ -255,8 +255,6 @@ open class Bar: View { ...@@ -255,8 +255,6 @@ open class Bar: View {
contentView.grid.columns = columns - lc - rc contentView.grid.columns = columns - lc - rc
} }
print(contentView.grid.columns)
grid.axis.columns = columns grid.axis.columns = columns
grid.commit() grid.commit()
contentView.grid.commit() contentView.grid.commit()
......
...@@ -178,14 +178,9 @@ open class NavigationBar: UINavigationBar { ...@@ -178,14 +178,9 @@ open class NavigationBar: UINavigationBar {
var lc = 0 var lc = 0
var rc = 0 var rc = 0
let l = (CGFloat(item.leftViews.count) * interimSpace)
let r = (CGFloat(item.rightViews.count) * interimSpace)
let p = width - l - r - contentEdgeInsets.left - contentEdgeInsets.right
let columns = Int(ceil(p / gridFactor))
item.titleView!.grid.begin() item.titleView!.grid.begin()
item.titleView!.grid.views.removeAll() item.titleView!.grid.views.removeAll()
item.titleView!.grid.axis.columns = columns
for v in item.leftViews { for v in item.leftViews {
if let b = v as? UIButton { if let b = v as? UIButton {
...@@ -221,19 +216,35 @@ open class NavigationBar: UINavigationBar { ...@@ -221,19 +216,35 @@ open class NavigationBar: UINavigationBar {
item.contentView.grid.begin() item.contentView.grid.begin()
var l: CGFloat = 0
var r: CGFloat = 0
if .center == item.contentViewAlignment { if .center == item.contentViewAlignment {
if item.leftViews.count < item.rightViews.count {
r = CGFloat(item.rightViews.count) * interimSpace
l = r
} else {
l = CGFloat(item.leftViews.count) * interimSpace
r = l
}
}
let p = width - l - r - contentEdgeInsets.left - contentEdgeInsets.right
let columns = Int(ceil(p / gridFactor))
if .center == contentViewAlignment {
if lc < rc { if lc < rc {
item.contentView.grid.columns = columns - 2 * rc item.contentView.grid.columns = columns - 2 * rc
item.contentView.grid.offset.columns = rc - lc item.contentView.grid.offset.columns = rc - lc
} else { } else {
item.contentView.grid.columns = columns - 2 * lc item.contentView.grid.columns = columns - 2 * lc
item.contentView.grid.offset.columns = 0
item.rightViews.first?.grid.offset.columns = lc - rc item.rightViews.first?.grid.offset.columns = lc - rc
} }
} else { } else {
item.contentView.grid.columns = columns - lc - rc item.contentView.grid.columns = columns - lc - rc
} }
item.titleView!.grid.axis.columns = columns
item.titleView!.grid.interimSpace = interimSpace item.titleView!.grid.interimSpace = interimSpace
item.titleView!.grid.contentEdgeInsets = contentEdgeInsets item.titleView!.grid.contentEdgeInsets = contentEdgeInsets
item.titleView!.grid.commit() item.titleView!.grid.commit()
......
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