Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
M
Material
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Dmitriy Stepanets
Material
Commits
39e54828
Unverified
Commit
39e54828
authored
Sep 03, 2016
by
Daniel Dahan
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
development: refining Grid for Navigational controls
parent
9cfba910
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
35 additions
and
28 deletions
+35
-28
Sources/iOS/ControlView.swift
+5
-4
Sources/iOS/Grid.swift
+13
-13
Sources/iOS/NavigationBar.swift
+6
-6
Sources/iOS/NavigationItem.swift
+11
-3
Sources/iOS/Toolbar.swift
+0
-2
No files found.
Sources/iOS/ControlView.swift
View file @
39e54828
...
...
@@ -101,7 +101,7 @@ open class ControlView: View {
}
/// ContentView that holds the any desired subviews.
open
private(set)
var
contentView
:
View
!
open
private(set)
lazy
var
contentView
:
UIView
=
UIView
()
/// Left side UIControls.
open
var
leftControls
=
[
UIView
]()
{
...
...
@@ -197,6 +197,9 @@ open class ControlView: View {
grid
.
views
.
append
(
v
)
}
grid
.
commit
()
contentView
.
grid
.
begin
()
if
.
center
==
contentViewAlignment
{
if
lc
<
rc
{
contentView
.
grid
.
columns
=
columns
-
2
*
rc
...
...
@@ -208,8 +211,7 @@ open class ControlView: View {
}
else
{
contentView
.
grid
.
columns
=
columns
-
lc
-
rc
}
grid
.
commit
()
contentView
.
grid
.
commit
()
}
}
...
...
@@ -230,7 +232,6 @@ open class ControlView: View {
/// Prepares the contentView.
private
func
prepareContentView
()
{
contentView
=
View
()
contentView
.
backgroundColor
=
nil
}
}
Sources/iOS/Grid.swift
View file @
39e54828
...
...
@@ -134,7 +134,7 @@ public class Grid {
public
private(set)
var
axis
:
GridAxis
!
/// Preset inset value for grid.
public
var
layoutEdgeInsetsPreset
:
EdgeInsetsPreset
=
.
none
{
public
var
layoutEdgeInsetsPreset
=
EdgeInsetsPreset
.
none
{
didSet
{
layoutEdgeInsets
=
EdgeInsetsPresetToValue
(
preset
:
contentEdgeInsetsPreset
)
}
...
...
@@ -148,7 +148,7 @@ public class Grid {
}
/// Preset inset value for grid.
public
var
contentEdgeInsetsPreset
:
EdgeInsetsPreset
=
.
none
{
public
var
contentEdgeInsetsPreset
=
EdgeInsetsPreset
.
none
{
didSet
{
contentEdgeInsets
=
EdgeInsetsPresetToValue
(
preset
:
contentEdgeInsetsPreset
)
}
...
...
@@ -218,38 +218,38 @@ public class Grid {
var
i
:
Int
=
0
for
child
in
views
{
guard
let
parent
=
context
else
{
guard
let
canvas
=
context
else
{
return
}
if
parent
!=
child
.
superview
{
canvas
.
layoutIfNeeded
()
if
canvas
!=
child
.
superview
{
child
.
removeFromSuperview
()
parent
.
addSubview
(
child
)
canvas
.
addSubview
(
child
)
}
parent
.
layoutIfNeeded
()
switch
axis
.
direction
{
case
.
horizontal
:
let
c
=
child
.
grid
.
columns
let
co
=
child
.
grid
.
offset
.
columns
let
w
=
(
parent
.
bound
s
.
width
-
contentEdgeInsets
.
left
-
contentEdgeInsets
.
right
-
layoutEdgeInsets
.
left
-
layoutEdgeInsets
.
right
+
interimSpace
)
/
CGFloat
(
axis
.
columns
)
let
w
=
(
canva
s
.
width
-
contentEdgeInsets
.
left
-
contentEdgeInsets
.
right
-
layoutEdgeInsets
.
left
-
layoutEdgeInsets
.
right
+
interimSpace
)
/
CGFloat
(
axis
.
columns
)
child
.
x
=
CGFloat
(
i
+
n
+
co
)
*
w
+
contentEdgeInsets
.
left
+
layoutEdgeInsets
.
left
child
.
y
=
contentEdgeInsets
.
top
+
layoutEdgeInsets
.
top
child
.
width
=
w
*
CGFloat
(
c
)
-
interimSpace
child
.
height
=
parent
.
bound
s
.
height
-
contentEdgeInsets
.
top
-
contentEdgeInsets
.
bottom
-
layoutEdgeInsets
.
top
-
layoutEdgeInsets
.
bottom
child
.
height
=
canva
s
.
height
-
contentEdgeInsets
.
top
-
contentEdgeInsets
.
bottom
-
layoutEdgeInsets
.
top
-
layoutEdgeInsets
.
bottom
n
+=
c
+
co
-
1
case
.
vertical
:
let
r
=
child
.
grid
.
rows
let
ro
=
child
.
grid
.
offset
.
rows
let
h
=
(
parent
.
bound
s
.
height
-
contentEdgeInsets
.
top
-
contentEdgeInsets
.
bottom
-
layoutEdgeInsets
.
top
-
layoutEdgeInsets
.
bottom
+
interimSpace
)
/
CGFloat
(
axis
.
rows
)
let
h
=
(
canva
s
.
height
-
contentEdgeInsets
.
top
-
contentEdgeInsets
.
bottom
-
layoutEdgeInsets
.
top
-
layoutEdgeInsets
.
bottom
+
interimSpace
)
/
CGFloat
(
axis
.
rows
)
child
.
x
=
contentEdgeInsets
.
left
+
layoutEdgeInsets
.
left
child
.
y
=
CGFloat
(
i
+
n
+
ro
)
*
h
+
contentEdgeInsets
.
top
+
layoutEdgeInsets
.
top
child
.
width
=
parent
.
bound
s
.
width
-
contentEdgeInsets
.
left
-
contentEdgeInsets
.
right
-
layoutEdgeInsets
.
left
-
layoutEdgeInsets
.
right
child
.
width
=
canva
s
.
width
-
contentEdgeInsets
.
left
-
contentEdgeInsets
.
right
-
layoutEdgeInsets
.
left
-
layoutEdgeInsets
.
right
child
.
height
=
h
*
CGFloat
(
r
)
-
interimSpace
n
+=
r
+
ro
-
1
...
...
@@ -259,8 +259,8 @@ public class Grid {
let
ro
=
child
.
grid
.
offset
.
rows
let
c
=
child
.
grid
.
columns
let
co
=
child
.
grid
.
offset
.
columns
let
w
=
(
parent
.
bound
s
.
width
-
contentEdgeInsets
.
left
-
contentEdgeInsets
.
right
-
layoutEdgeInsets
.
left
-
layoutEdgeInsets
.
right
+
interimSpace
)
/
CGFloat
(
axis
.
columns
)
let
h
=
(
parent
.
bound
s
.
height
-
contentEdgeInsets
.
top
-
contentEdgeInsets
.
bottom
-
layoutEdgeInsets
.
top
-
layoutEdgeInsets
.
bottom
+
interimSpace
)
/
CGFloat
(
axis
.
rows
)
let
w
=
(
canva
s
.
width
-
contentEdgeInsets
.
left
-
contentEdgeInsets
.
right
-
layoutEdgeInsets
.
left
-
layoutEdgeInsets
.
right
+
interimSpace
)
/
CGFloat
(
axis
.
columns
)
let
h
=
(
canva
s
.
height
-
contentEdgeInsets
.
top
-
contentEdgeInsets
.
bottom
-
layoutEdgeInsets
.
top
-
layoutEdgeInsets
.
bottom
+
interimSpace
)
/
CGFloat
(
axis
.
rows
)
child
.
x
=
CGFloat
(
co
)
*
w
+
contentEdgeInsets
.
left
+
layoutEdgeInsets
.
left
child
.
y
=
CGFloat
(
ro
)
*
h
+
contentEdgeInsets
.
top
+
layoutEdgeInsets
.
top
...
...
Sources/iOS/NavigationBar.swift
View file @
39e54828
...
...
@@ -230,6 +230,11 @@ open class NavigationBar: UINavigationBar {
item
.
titleView
!.
grid
.
views
.
append
(
v
)
}
item
.
titleView
!.
grid
.
interimSpace
=
interimSpace
item
.
titleView
!.
grid
.
contentEdgeInsets
=
contentEdgeInsets
item
.
titleView
!.
grid
.
commit
()
item
.
contentView
.
grid
.
begin
()
if
.
center
==
item
.
contentViewAlignment
{
if
lc
<
rc
{
item
.
contentView
.
grid
.
columns
=
columns
-
2
*
rc
...
...
@@ -241,10 +246,7 @@ open class NavigationBar: UINavigationBar {
}
else
{
item
.
contentView
.
grid
.
columns
=
columns
-
lc
-
rc
}
item
.
titleView
!.
grid
.
interimSpace
=
interimSpace
item
.
titleView
!.
grid
.
contentEdgeInsets
=
contentEdgeInsets
item
.
titleView
!.
grid
.
commit
()
item
.
contentView
.
grid
.
commit
()
// contentView alignment.
if
nil
!=
item
.
title
&&
""
!=
item
.
title
{
...
...
@@ -279,8 +281,6 @@ open class NavigationBar: UINavigationBar {
}
else
{
item
.
detailLabel
.
removeFromSuperview
()
}
item
.
contentView
.
grid
.
reload
()
}
}
...
...
Sources/iOS/NavigationItem.swift
View file @
39e54828
...
...
@@ -46,7 +46,7 @@ public class NavigationItem: NSObject {
public
var
backButton
:
IconButton
?
/// Content View.
public
private(set)
lazy
var
contentView
=
UIView
()
public
private(set)
lazy
var
contentView
=
UIView
()
/// Title label.
public
private(set)
lazy
var
titleLabel
=
UILabel
()
...
...
@@ -55,10 +55,18 @@ public class NavigationItem: NSObject {
public
private(set)
lazy
var
detailLabel
=
UILabel
()
/// Left controls.
public
var
leftControls
=
[
UIView
]()
public
var
leftControls
=
[
UIView
]()
{
didSet
{
navigationBar
?
.
layoutSubviews
()
}
}
/// Right controls.
public
var
rightControls
=
[
UIView
]()
public
var
rightControls
=
[
UIView
]()
{
didSet
{
navigationBar
?
.
layoutSubviews
()
}
}
public
var
navigationBar
:
NavigationBar
?
{
return
contentView
.
superview
?
.
superview
as?
NavigationBar
...
...
Sources/iOS/Toolbar.swift
View file @
39e54828
...
...
@@ -135,8 +135,6 @@ open class Toolbar: BarView {
}
else
{
detailLabel
.
removeFromSuperview
()
}
contentView
.
grid
.
reload
()
}
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment