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
b2580b70
Commit
b2580b70
authored
Jun 16, 2016
by
Daniel Dahan
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fixed issue where rootViewController was crashing when calling the transition method
parent
c87070f1
Show whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
107 additions
and
434 deletions
+107
-434
Examples/Programmatic/App/App/AppNavigationDrawerController.swift
+8
-8
Examples/Programmatic/App/App/RecipesViewController.swift
+1
-1
Examples/Programmatic/NavigationDrawerController/NavigationDrawerController/AppLeftViewController.swift
+2
-1
Examples/Programmatic/NavigationDrawerController/NavigationDrawerController/AppNavigationDrawerController.swift
+8
-8
Material.xcodeproj/project.pbxproj
+6
-6
Sources/iOS/MenuController.swift
+13
-127
Sources/iOS/NavigationDrawerController.swift
+24
-126
Sources/iOS/RootController.swift
+19
-7
Sources/iOS/SearchBarController.swift
+8
-8
Sources/iOS/StatusBarController.swift
+10
-134
Sources/iOS/ToolbarController.swift
+8
-8
No files found.
Examples/Programmatic/App/App/AppNavigationDrawerController.swift
View file @
b2580b70
...
@@ -37,27 +37,27 @@ class AppNavigationDrawerController: NavigationDrawerController, NavigationDrawe
...
@@ -37,27 +37,27 @@ class AppNavigationDrawerController: NavigationDrawerController, NavigationDrawe
delegate
=
self
delegate
=
self
}
}
func
navigationDrawerPanDidBegin
(
navigationDrawerController
:
NavigationDrawerController
,
point
:
CGPoint
,
position
:
SideNavigation
Position
)
{
func
navigationDrawerPanDidBegin
(
navigationDrawerController
:
NavigationDrawerController
,
point
:
CGPoint
,
position
:
NavigationDrawer
Position
)
{
print
(
"NavigationDrawerController - Pan Began"
);
print
(
"NavigationDrawerController - Pan Began"
);
}
}
func
navigationDrawerPanDidEnd
(
navigationDrawerController
:
NavigationDrawerController
,
point
:
CGPoint
,
position
:
SideNavigation
Position
)
{
func
navigationDrawerPanDidEnd
(
navigationDrawerController
:
NavigationDrawerController
,
point
:
CGPoint
,
position
:
NavigationDrawer
Position
)
{
print
(
"NavigationDrawerController - Pan Ended"
);
print
(
"NavigationDrawerController - Pan Ended"
);
}
}
func
navigationDrawerWillOpen
(
navigationDrawerController
:
NavigationDrawerController
,
position
:
SideNavigation
Position
)
{
func
navigationDrawerWillOpen
(
navigationDrawerController
:
NavigationDrawerController
,
position
:
NavigationDrawer
Position
)
{
print
(
"NavigationDrawerController - Will Open"
);
print
(
"NavigationDrawerController - Will Open"
);
}
}
func
navigationDrawerDidOpen
(
navigationDrawerController
:
NavigationDrawerController
,
position
:
SideNavigation
Position
)
{
func
navigationDrawerDidOpen
(
navigationDrawerController
:
NavigationDrawerController
,
position
:
NavigationDrawer
Position
)
{
print
(
"NavigationDrawerController - DId Open"
);
print
(
"NavigationDrawerController - DId Open"
);
}
}
func
navigationDrawerWillClose
(
navigationDrawerController
:
NavigationDrawerController
,
position
:
SideNavigation
Position
)
{
func
navigationDrawerWillClose
(
navigationDrawerController
:
NavigationDrawerController
,
position
:
NavigationDrawer
Position
)
{
print
(
"NavigationDrawerController - Will Close"
);
print
(
"NavigationDrawerController - Will Close"
);
}
}
func
navigationDrawerDidClose
(
navigationDrawerController
:
NavigationDrawerController
,
position
:
SideNavigation
Position
)
{
func
navigationDrawerDidClose
(
navigationDrawerController
:
NavigationDrawerController
,
position
:
NavigationDrawer
Position
)
{
print
(
"NavigationDrawerController - Did Close"
);
print
(
"NavigationDrawerController - Did Close"
);
}
}
...
@@ -65,11 +65,11 @@ class AppNavigationDrawerController: NavigationDrawerController, NavigationDrawe
...
@@ -65,11 +65,11 @@ class AppNavigationDrawerController: NavigationDrawerController, NavigationDrawe
print
(
"NavigationDrawerController - Status Bar Hidden: "
,
hidden
?
"Yes"
:
"No"
);
print
(
"NavigationDrawerController - Status Bar Hidden: "
,
hidden
?
"Yes"
:
"No"
);
}
}
func
navigationDrawerDidTap
(
navigationDrawerController
:
NavigationDrawerController
,
point
:
CGPoint
,
position
:
SideNavigation
Position
)
{
func
navigationDrawerDidTap
(
navigationDrawerController
:
NavigationDrawerController
,
point
:
CGPoint
,
position
:
NavigationDrawer
Position
)
{
print
(
"NavigationDrawerController - Did Tap"
);
print
(
"NavigationDrawerController - Did Tap"
);
}
}
func
navigationDrawerPanDidChange
(
navigationDrawerController
:
NavigationDrawerController
,
point
:
CGPoint
,
position
:
SideNavigation
Position
)
{
func
navigationDrawerPanDidChange
(
navigationDrawerController
:
NavigationDrawerController
,
point
:
CGPoint
,
position
:
NavigationDrawer
Position
)
{
// print("NavigationDrawerController - Did Change");
// print("NavigationDrawerController - Did Change");
}
}
}
}
Examples/Programmatic/App/App/RecipesViewController.swift
View file @
b2580b70
...
@@ -66,7 +66,7 @@ class RecipesViewController: UIViewController {
...
@@ -66,7 +66,7 @@ class RecipesViewController: UIViewController {
override
func
viewDidAppear
(
animated
:
Bool
)
{
override
func
viewDidAppear
(
animated
:
Bool
)
{
super
.
viewDidAppear
(
animated
)
super
.
viewDidAppear
(
animated
)
// Enable the
SideNavigation
.
// Enable the
NavigationDrawer
.
navigationDrawerController
?
.
enabled
=
true
navigationDrawerController
?
.
enabled
=
true
(
menuController
as?
AppMenuController
)?
.
showMenuView
()
(
menuController
as?
AppMenuController
)?
.
showMenuView
()
}
}
...
...
Examples/Programmatic/NavigationDrawerController/NavigationDrawerController/AppLeftViewController.swift
View file @
b2580b70
...
@@ -116,7 +116,8 @@ extension AppLeftViewController: UITableViewDelegate {
...
@@ -116,7 +116,8 @@ extension AppLeftViewController: UITableViewDelegate {
if
let
v
:
NavigationController
=
navigationDrawerController
?
.
rootViewController
as?
NavigationController
{
if
let
v
:
NavigationController
=
navigationDrawerController
?
.
rootViewController
as?
NavigationController
{
switch
item
.
text
{
switch
item
.
text
{
case
"Orange"
:
case
"Orange"
:
v
.
pushViewController
(
OrangeViewController
(),
animated
:
true
)
navigationDrawerController
?
.
transitionFromRootViewController
(
OrangeViewController
())
// v.pushViewController(OrangeViewController(), animated: true)
case
"Purple"
:
case
"Purple"
:
v
.
pushViewController
(
PurpleViewController
(),
animated
:
true
)
v
.
pushViewController
(
PurpleViewController
(),
animated
:
true
)
case
"Green"
:
case
"Green"
:
...
...
Examples/Programmatic/NavigationDrawerController/NavigationDrawerController/AppNavigationDrawerController.swift
View file @
b2580b70
...
@@ -37,27 +37,27 @@ class AppNavigationDrawerController: NavigationDrawerController, NavigationDrawe
...
@@ -37,27 +37,27 @@ class AppNavigationDrawerController: NavigationDrawerController, NavigationDrawe
delegate
=
self
delegate
=
self
}
}
func
navigationDrawerPanDidBegin
(
navigationDrawerController
:
NavigationDrawerController
,
point
:
CGPoint
,
position
:
SideNavigation
Position
)
{
func
navigationDrawerPanDidBegin
(
navigationDrawerController
:
NavigationDrawerController
,
point
:
CGPoint
,
position
:
NavigationDrawer
Position
)
{
print
(
"NavigationDrawerController - Pan Began"
);
print
(
"NavigationDrawerController - Pan Began"
);
}
}
func
navigationDrawerPanDidEnd
(
navigationDrawerController
:
NavigationDrawerController
,
point
:
CGPoint
,
position
:
SideNavigation
Position
)
{
func
navigationDrawerPanDidEnd
(
navigationDrawerController
:
NavigationDrawerController
,
point
:
CGPoint
,
position
:
NavigationDrawer
Position
)
{
print
(
"NavigationDrawerController - Pan Ended"
);
print
(
"NavigationDrawerController - Pan Ended"
);
}
}
func
navigationDrawerWillOpen
(
navigationDrawerController
:
NavigationDrawerController
,
position
:
SideNavigation
Position
)
{
func
navigationDrawerWillOpen
(
navigationDrawerController
:
NavigationDrawerController
,
position
:
NavigationDrawer
Position
)
{
print
(
"NavigationDrawerController - Will Open"
);
print
(
"NavigationDrawerController - Will Open"
);
}
}
func
navigationDrawerDidOpen
(
navigationDrawerController
:
NavigationDrawerController
,
position
:
SideNavigation
Position
)
{
func
navigationDrawerDidOpen
(
navigationDrawerController
:
NavigationDrawerController
,
position
:
NavigationDrawer
Position
)
{
print
(
"NavigationDrawerController - DId Open"
);
print
(
"NavigationDrawerController - DId Open"
);
}
}
func
navigationDrawerWillClose
(
navigationDrawerController
:
NavigationDrawerController
,
position
:
SideNavigation
Position
)
{
func
navigationDrawerWillClose
(
navigationDrawerController
:
NavigationDrawerController
,
position
:
NavigationDrawer
Position
)
{
print
(
"NavigationDrawerController - Will Close"
);
print
(
"NavigationDrawerController - Will Close"
);
}
}
func
navigationDrawerDidClose
(
navigationDrawerController
:
NavigationDrawerController
,
position
:
SideNavigation
Position
)
{
func
navigationDrawerDidClose
(
navigationDrawerController
:
NavigationDrawerController
,
position
:
NavigationDrawer
Position
)
{
print
(
"NavigationDrawerController - Did Close"
);
print
(
"NavigationDrawerController - Did Close"
);
}
}
...
@@ -65,11 +65,11 @@ class AppNavigationDrawerController: NavigationDrawerController, NavigationDrawe
...
@@ -65,11 +65,11 @@ class AppNavigationDrawerController: NavigationDrawerController, NavigationDrawe
print
(
"NavigationDrawerController - Status Bar Hidden: "
,
hidden
?
"Yes"
:
"No"
);
print
(
"NavigationDrawerController - Status Bar Hidden: "
,
hidden
?
"Yes"
:
"No"
);
}
}
func
navigationDrawerDidTap
(
navigationDrawerController
:
NavigationDrawerController
,
point
:
CGPoint
,
position
:
SideNavigation
Position
)
{
func
navigationDrawerDidTap
(
navigationDrawerController
:
NavigationDrawerController
,
point
:
CGPoint
,
position
:
NavigationDrawer
Position
)
{
print
(
"NavigationDrawerController - Did Tap"
);
print
(
"NavigationDrawerController - Did Tap"
);
}
}
func
navigationDrawerPanDidChange
(
navigationDrawerController
:
NavigationDrawerController
,
point
:
CGPoint
,
position
:
SideNavigation
Position
)
{
func
navigationDrawerPanDidChange
(
navigationDrawerController
:
NavigationDrawerController
,
point
:
CGPoint
,
position
:
NavigationDrawer
Position
)
{
// print("NavigationDrawerController - Did Change");
// print("NavigationDrawerController - Did Change");
}
}
}
}
Material.xcodeproj/project.pbxproj
View file @
b2580b70
...
@@ -82,7 +82,7 @@
...
@@ -82,7 +82,7 @@
96BCB7DF1CB40DC500C806FE
/* SearchBarController.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
96BCB7961CB40DC500C806FE
/* SearchBarController.swift */
;
};
96BCB7DF1CB40DC500C806FE
/* SearchBarController.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
96BCB7961CB40DC500C806FE
/* SearchBarController.swift */
;
};
96BCB7E01CB40DC500C806FE
/* NavigationDrawerController.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
96BCB7971CB40DC500C806FE
/* NavigationDrawerController.swift */
;
};
96BCB7E01CB40DC500C806FE
/* NavigationDrawerController.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
96BCB7971CB40DC500C806FE
/* NavigationDrawerController.swift */
;
};
96BCB7E11CB40DC500C806FE
/* BarView.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
96BCB7981CB40DC500C806FE
/* BarView.swift */
;
};
96BCB7E11CB40DC500C806FE
/* BarView.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
96BCB7981CB40DC500C806FE
/* BarView.swift */
;
};
96BCB7E21CB40DC500C806FE
/*
BarController.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
96BCB7991CB40DC500C806FE
/* Bar
Controller.swift */
;
};
96BCB7E21CB40DC500C806FE
/*
RootController.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
96BCB7991CB40DC500C806FE
/* Root
Controller.swift */
;
};
96BCB7E31CB40DC500C806FE
/* TabBar.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
96BCB79A1CB40DC500C806FE
/* TabBar.swift */
;
};
96BCB7E31CB40DC500C806FE
/* TabBar.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
96BCB79A1CB40DC500C806FE
/* TabBar.swift */
;
};
96BCB7E41CB40DC500C806FE
/* Text.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
96BCB79B1CB40DC500C806FE
/* Text.swift */
;
};
96BCB7E41CB40DC500C806FE
/* Text.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
96BCB79B1CB40DC500C806FE
/* Text.swift */
;
};
96BCB7E51CB40DC500C806FE
/* TextField.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
96BCB79C1CB40DC500C806FE
/* TextField.swift */
;
};
96BCB7E51CB40DC500C806FE
/* TextField.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
96BCB79C1CB40DC500C806FE
/* TextField.swift */
;
};
...
@@ -146,7 +146,7 @@
...
@@ -146,7 +146,7 @@
96BCB83A1CB4115200C806FE
/* SearchBarController.swift in Headers */
=
{
isa
=
PBXBuildFile
;
fileRef
=
96BCB7961CB40DC500C806FE
/* SearchBarController.swift */
;
settings
=
{
ATTRIBUTES
=
(
Public
,
);
};
};
96BCB83A1CB4115200C806FE
/* SearchBarController.swift in Headers */
=
{
isa
=
PBXBuildFile
;
fileRef
=
96BCB7961CB40DC500C806FE
/* SearchBarController.swift */
;
settings
=
{
ATTRIBUTES
=
(
Public
,
);
};
};
96BCB83B1CB4115200C806FE
/* NavigationDrawerController.swift in Headers */
=
{
isa
=
PBXBuildFile
;
fileRef
=
96BCB7971CB40DC500C806FE
/* NavigationDrawerController.swift */
;
settings
=
{
ATTRIBUTES
=
(
Public
,
);
};
};
96BCB83B1CB4115200C806FE
/* NavigationDrawerController.swift in Headers */
=
{
isa
=
PBXBuildFile
;
fileRef
=
96BCB7971CB40DC500C806FE
/* NavigationDrawerController.swift */
;
settings
=
{
ATTRIBUTES
=
(
Public
,
);
};
};
96BCB83C1CB4115200C806FE
/* BarView.swift in Headers */
=
{
isa
=
PBXBuildFile
;
fileRef
=
96BCB7981CB40DC500C806FE
/* BarView.swift */
;
settings
=
{
ATTRIBUTES
=
(
Public
,
);
};
};
96BCB83C1CB4115200C806FE
/* BarView.swift in Headers */
=
{
isa
=
PBXBuildFile
;
fileRef
=
96BCB7981CB40DC500C806FE
/* BarView.swift */
;
settings
=
{
ATTRIBUTES
=
(
Public
,
);
};
};
96BCB83D1CB4115200C806FE
/*
BarController.swift in Headers */
=
{
isa
=
PBXBuildFile
;
fileRef
=
96BCB7991CB40DC500C806FE
/* Bar
Controller.swift */
;
settings
=
{
ATTRIBUTES
=
(
Public
,
);
};
};
96BCB83D1CB4115200C806FE
/*
RootController.swift in Headers */
=
{
isa
=
PBXBuildFile
;
fileRef
=
96BCB7991CB40DC500C806FE
/* Root
Controller.swift */
;
settings
=
{
ATTRIBUTES
=
(
Public
,
);
};
};
96BCB83E1CB4115200C806FE
/* Menu.swift in Headers */
=
{
isa
=
PBXBuildFile
;
fileRef
=
96BCB78D1CB40DC500C806FE
/* Menu.swift */
;
settings
=
{
ATTRIBUTES
=
(
Public
,
);
};
};
96BCB83E1CB4115200C806FE
/* Menu.swift in Headers */
=
{
isa
=
PBXBuildFile
;
fileRef
=
96BCB78D1CB40DC500C806FE
/* Menu.swift */
;
settings
=
{
ATTRIBUTES
=
(
Public
,
);
};
};
96BCB83F1CB4115200C806FE
/* MenuView.swift in Headers */
=
{
isa
=
PBXBuildFile
;
fileRef
=
96BCB78E1CB40DC500C806FE
/* MenuView.swift */
;
settings
=
{
ATTRIBUTES
=
(
Public
,
);
};
};
96BCB83F1CB4115200C806FE
/* MenuView.swift in Headers */
=
{
isa
=
PBXBuildFile
;
fileRef
=
96BCB78E1CB40DC500C806FE
/* MenuView.swift */
;
settings
=
{
ATTRIBUTES
=
(
Public
,
);
};
};
96BCB8401CB4115200C806FE
/* MenuController.swift in Headers */
=
{
isa
=
PBXBuildFile
;
fileRef
=
96BCB78F1CB40DC500C806FE
/* MenuController.swift */
;
settings
=
{
ATTRIBUTES
=
(
Public
,
);
};
};
96BCB8401CB4115200C806FE
/* MenuController.swift in Headers */
=
{
isa
=
PBXBuildFile
;
fileRef
=
96BCB78F1CB40DC500C806FE
/* MenuController.swift */
;
settings
=
{
ATTRIBUTES
=
(
Public
,
);
};
};
...
@@ -273,7 +273,7 @@
...
@@ -273,7 +273,7 @@
96BCB7961CB40DC500C806FE
/* SearchBarController.swift */
=
{
isa
=
PBXFileReference
;
fileEncoding
=
4
;
lastKnownFileType
=
sourcecode.swift
;
path
=
SearchBarController.swift
;
sourceTree
=
"<group>"
;
};
96BCB7961CB40DC500C806FE
/* SearchBarController.swift */
=
{
isa
=
PBXFileReference
;
fileEncoding
=
4
;
lastKnownFileType
=
sourcecode.swift
;
path
=
SearchBarController.swift
;
sourceTree
=
"<group>"
;
};
96BCB7971CB40DC500C806FE
/* NavigationDrawerController.swift */
=
{
isa
=
PBXFileReference
;
fileEncoding
=
4
;
lastKnownFileType
=
sourcecode.swift
;
path
=
NavigationDrawerController.swift
;
sourceTree
=
"<group>"
;
};
96BCB7971CB40DC500C806FE
/* NavigationDrawerController.swift */
=
{
isa
=
PBXFileReference
;
fileEncoding
=
4
;
lastKnownFileType
=
sourcecode.swift
;
path
=
NavigationDrawerController.swift
;
sourceTree
=
"<group>"
;
};
96BCB7981CB40DC500C806FE
/* BarView.swift */
=
{
isa
=
PBXFileReference
;
fileEncoding
=
4
;
lastKnownFileType
=
sourcecode.swift
;
path
=
BarView.swift
;
sourceTree
=
"<group>"
;
};
96BCB7981CB40DC500C806FE
/* BarView.swift */
=
{
isa
=
PBXFileReference
;
fileEncoding
=
4
;
lastKnownFileType
=
sourcecode.swift
;
path
=
BarView.swift
;
sourceTree
=
"<group>"
;
};
96BCB7991CB40DC500C806FE
/*
BarController.swift */
=
{
isa
=
PBXFileReference
;
fileEncoding
=
4
;
lastKnownFileType
=
sourcecode.swift
;
path
=
Bar
Controller.swift
;
sourceTree
=
"<group>"
;
};
96BCB7991CB40DC500C806FE
/*
RootController.swift */
=
{
isa
=
PBXFileReference
;
fileEncoding
=
4
;
lastKnownFileType
=
sourcecode.swift
;
path
=
Root
Controller.swift
;
sourceTree
=
"<group>"
;
};
96BCB79A1CB40DC500C806FE
/* TabBar.swift */
=
{
isa
=
PBXFileReference
;
fileEncoding
=
4
;
lastKnownFileType
=
sourcecode.swift
;
path
=
TabBar.swift
;
sourceTree
=
"<group>"
;
};
96BCB79A1CB40DC500C806FE
/* TabBar.swift */
=
{
isa
=
PBXFileReference
;
fileEncoding
=
4
;
lastKnownFileType
=
sourcecode.swift
;
path
=
TabBar.swift
;
sourceTree
=
"<group>"
;
};
96BCB79B1CB40DC500C806FE
/* Text.swift */
=
{
isa
=
PBXFileReference
;
fileEncoding
=
4
;
lastKnownFileType
=
sourcecode.swift
;
path
=
Text.swift
;
sourceTree
=
"<group>"
;
};
96BCB79B1CB40DC500C806FE
/* Text.swift */
=
{
isa
=
PBXFileReference
;
fileEncoding
=
4
;
lastKnownFileType
=
sourcecode.swift
;
path
=
Text.swift
;
sourceTree
=
"<group>"
;
};
96BCB79C1CB40DC500C806FE
/* TextField.swift */
=
{
isa
=
PBXFileReference
;
fileEncoding
=
4
;
lastKnownFileType
=
sourcecode.swift
;
path
=
TextField.swift
;
sourceTree
=
"<group>"
;
};
96BCB79C1CB40DC500C806FE
/* TextField.swift */
=
{
isa
=
PBXFileReference
;
fileEncoding
=
4
;
lastKnownFileType
=
sourcecode.swift
;
path
=
TextField.swift
;
sourceTree
=
"<group>"
;
};
...
@@ -445,9 +445,9 @@
...
@@ -445,9 +445,9 @@
96BCB8011CB40F1700C806FE
/* Navigation */
=
{
96BCB8011CB40F1700C806FE
/* Navigation */
=
{
isa
=
PBXGroup
;
isa
=
PBXGroup
;
children
=
(
children
=
(
96BCB7991CB40DC500C806FE
/* RootController.swift */
,
96BCB75E1CB40DC500C806FE
/* ControlView.swift */
,
96BCB75E1CB40DC500C806FE
/* ControlView.swift */
,
96BCB7981CB40DC500C806FE
/* BarView.swift */
,
96BCB7981CB40DC500C806FE
/* BarView.swift */
,
96BCB7991CB40DC500C806FE
/* BarController.swift */
,
96BCB7951CB40DC500C806FE
/* SearchBar.swift */
,
96BCB7951CB40DC500C806FE
/* SearchBar.swift */
,
96BCB7961CB40DC500C806FE
/* SearchBarController.swift */
,
96BCB7961CB40DC500C806FE
/* SearchBarController.swift */
,
96BCB79F1CB40DC500C806FE
/* Toolbar.swift */
,
96BCB79F1CB40DC500C806FE
/* Toolbar.swift */
,
...
@@ -687,7 +687,7 @@
...
@@ -687,7 +687,7 @@
96BCB83A1CB4115200C806FE
/* SearchBarController.swift in Headers */
,
96BCB83A1CB4115200C806FE
/* SearchBarController.swift in Headers */
,
96BCB83B1CB4115200C806FE
/* NavigationDrawerController.swift in Headers */
,
96BCB83B1CB4115200C806FE
/* NavigationDrawerController.swift in Headers */
,
96BCB83C1CB4115200C806FE
/* BarView.swift in Headers */
,
96BCB83C1CB4115200C806FE
/* BarView.swift in Headers */
,
96BCB83D1CB4115200C806FE
/*
Bar
Controller.swift in Headers */
,
96BCB83D1CB4115200C806FE
/*
Root
Controller.swift in Headers */
,
96BCB83E1CB4115200C806FE
/* Menu.swift in Headers */
,
96BCB83E1CB4115200C806FE
/* Menu.swift in Headers */
,
96BCB83F1CB4115200C806FE
/* MenuView.swift in Headers */
,
96BCB83F1CB4115200C806FE
/* MenuView.swift in Headers */
,
96BCB8401CB4115200C806FE
/* MenuController.swift in Headers */
,
96BCB8401CB4115200C806FE
/* MenuController.swift in Headers */
,
...
@@ -945,7 +945,7 @@
...
@@ -945,7 +945,7 @@
96BCB7B81CB40DC500C806FE
/* MaterialBorder.swift in Sources */
,
96BCB7B81CB40DC500C806FE
/* MaterialBorder.swift in Sources */
,
96BCB7A61CB40DC500C806FE
/* CardView.swift in Sources */
,
96BCB7A61CB40DC500C806FE
/* CardView.swift in Sources */
,
96BCB7C91CB40DC500C806FE
/* MaterialLayer.swift in Sources */
,
96BCB7C91CB40DC500C806FE
/* MaterialLayer.swift in Sources */
,
96BCB7E21CB40DC500C806FE
/*
Bar
Controller.swift in Sources */
,
96BCB7E21CB40DC500C806FE
/*
Root
Controller.swift in Sources */
,
96BCB7DC1CB40DC500C806FE
/* RaisedButton.swift in Sources */
,
96BCB7DC1CB40DC500C806FE
/* RaisedButton.swift in Sources */
,
96BCB7DD1CB40DC500C806FE
/* RobotoFont.swift in Sources */
,
96BCB7DD1CB40DC500C806FE
/* RobotoFont.swift in Sources */
,
96BCB7D71CB40DC500C806FE
/* MenuView.swift in Sources */
,
96BCB7D71CB40DC500C806FE
/* MenuView.swift in Sources */
,
...
...
Sources/iOS/MenuController.swift
View file @
b2580b70
...
@@ -49,104 +49,11 @@ public extension UIViewController {
...
@@ -49,104 +49,11 @@ public extension UIViewController {
}
}
@IBDesignable
@IBDesignable
public
class
MenuController
:
UIView
Controller
{
public
class
MenuController
:
Root
Controller
{
/// Reference to the MenuView.
/// Reference to the MenuView.
public
private(set)
lazy
var
menuView
:
MenuView
=
MenuView
()
public
private(set)
lazy
var
menuView
:
MenuView
=
MenuView
()
/**
/**
A Boolean property used to enable and disable interactivity
with the rootViewController.
*/
@IBInspectable
public
var
userInteractionEnabled
:
Bool
{
get
{
return
rootViewController
.
view
.
userInteractionEnabled
}
set
(
value
)
{
rootViewController
.
view
.
userInteractionEnabled
=
value
}
}
/**
A UIViewController property that references the active
main UIViewController. To swap the rootViewController, it
is recommended to use the transitionFromRootViewController
helper method.
*/
public
private(set)
var
rootViewController
:
UIViewController
!
/**
An initializer that initializes the object with a NSCoder object.
- Parameter aDecoder: A NSCoder instance.
*/
public
required
init
?(
coder
aDecoder
:
NSCoder
)
{
super
.
init
(
coder
:
aDecoder
)
prepareView
()
}
/**
An initializer that initializes the object with an Optional nib and bundle.
- Parameter nibNameOrNil: An Optional String for the nib.
- Parameter bundle: An Optional NSBundle where the nib is located.
*/
public
override
init
(
nibName
nibNameOrNil
:
String
?,
bundle
nibBundleOrNil
:
NSBundle
?)
{
super
.
init
(
nibName
:
nibNameOrNil
,
bundle
:
nibBundleOrNil
)
prepareView
()
}
/**
An initializer for the BarController.
- Parameter rootViewController: The main UIViewController.
*/
public
init
(
rootViewController
:
UIViewController
)
{
super
.
init
(
nibName
:
nil
,
bundle
:
nil
)
self
.
rootViewController
=
rootViewController
prepareView
()
}
public
override
func
viewWillLayoutSubviews
()
{
super
.
viewWillLayoutSubviews
()
layoutSubviews
()
}
/**
A method to swap rootViewController objects.
- Parameter toViewController: The UIViewController to swap
with the active rootViewController.
- Parameter duration: A NSTimeInterval that sets the
animation duration of the transition.
- Parameter options: UIViewAnimationOptions thst are used
when animating the transition from the active rootViewController
to the toViewController.
- Parameter animations: An animation block that is executed during
the transition from the active rootViewController
to the toViewController.
- Parameter completion: A completion block that is execited after
the transition animation from the active rootViewController
to the toViewController has completed.
*/
public
func
transitionFromRootViewController
(
toViewController
:
UIViewController
,
duration
:
NSTimeInterval
=
0.5
,
options
:
UIViewAnimationOptions
=
[],
animations
:
(()
->
Void
)?
=
nil
,
completion
:
((
Bool
)
->
Void
)?
=
nil
)
{
rootViewController
.
willMoveToParentViewController
(
nil
)
addChildViewController
(
toViewController
)
toViewController
.
view
.
frame
=
rootViewController
.
view
.
frame
transitionFromViewController
(
rootViewController
,
toViewController
:
toViewController
,
duration
:
duration
,
options
:
options
,
animations
:
animations
,
completion
:
{
[
weak
self
]
(
result
:
Bool
)
in
if
let
s
:
MenuController
=
self
{
toViewController
.
didMoveToParentViewController
(
s
)
s
.
rootViewController
.
removeFromParentViewController
()
s
.
rootViewController
=
toViewController
s
.
rootViewController
.
view
.
clipsToBounds
=
true
s
.
rootViewController
.
view
.
autoresizingMask
=
[
.
FlexibleWidth
,
.
FlexibleHeight
]
s
.
view
.
sendSubviewToBack
(
s
.
rootViewController
.
view
)
completion
?(
result
)
}
})
}
/**
Opens the menu with a callback.
Opens the menu with a callback.
- Parameter completion: An Optional callback that is executed when
- Parameter completion: An Optional callback that is executed when
all menu items have been opened.
all menu items have been opened.
...
@@ -175,17 +82,25 @@ public class MenuController : UIViewController {
...
@@ -175,17 +82,25 @@ public class MenuController : UIViewController {
}
}
/**
/**
To execute in the order of the layout chain, override this
method. LayoutSubviews should be called immediately, unless you
have a certain need.
*/
public
override
func
layoutSubviews
()
{
super
.
layoutSubviews
()
rootViewController
.
view
.
frame
=
view
.
bounds
}
/**
Prepares the view instance when intialized. When subclassing,
Prepares the view instance when intialized. When subclassing,
it is recommended to override the prepareView method
it is recommended to override the prepareView method
to initialize property values and other setup operations.
to initialize property values and other setup operations.
The super.prepareView method should always be called immediately
The super.prepareView method should always be called immediately
when subclassing.
when subclassing.
*/
*/
public
func
prepareView
()
{
public
override
func
prepareView
()
{
view
.
clipsToBounds
=
true
super
.
prepareView
()
view
.
contentScaleFactor
=
MaterialDevice
.
scale
prepareMenuView
()
prepareMenuView
()
prepareRootViewController
()
}
}
/// Prepares the MenuView.
/// Prepares the MenuView.
...
@@ -193,33 +108,4 @@ public class MenuController : UIViewController {
...
@@ -193,33 +108,4 @@ public class MenuController : UIViewController {
menuView
.
zPosition
=
1000
menuView
.
zPosition
=
1000
view
.
addSubview
(
menuView
)
view
.
addSubview
(
menuView
)
}
}
/// A method that prepares the rootViewController.
private
func
prepareRootViewController
()
{
prepareViewControllerWithinContainer
(
rootViewController
,
container
:
view
)
}
/**
A method that adds the passed in controller as a child of
the MenuController within the passed in
container view.
- Parameter viewController: A UIViewController to add as a child.
- Parameter container: A UIView that is the parent of the
passed in controller view within the view hierarchy.
*/
private
func
prepareViewControllerWithinContainer
(
viewController
:
UIViewController
?,
container
:
UIView
)
{
if
let
v
:
UIViewController
=
viewController
{
addChildViewController
(
v
)
v
.
didMoveToParentViewController
(
self
)
v
.
view
.
clipsToBounds
=
true
v
.
view
.
autoresizingMask
=
[
.
FlexibleWidth
,
.
FlexibleHeight
]
container
.
addSubview
(
v
.
view
)
container
.
sendSubviewToBack
(
v
.
view
)
}
}
/// Layout subviews.
private
func
layoutSubviews
()
{
rootViewController
.
view
.
frame
=
view
.
bounds
}
}
}
Sources/iOS/NavigationDrawerController.swift
View file @
b2580b70
...
@@ -31,7 +31,7 @@
...
@@ -31,7 +31,7 @@
import
UIKit
import
UIKit
@objc
@objc
public
enum
SideNavigation
Position
:
NSInteger
{
public
enum
NavigationDrawer
Position
:
NSInteger
{
case
Left
case
Left
case
Right
case
Right
}
}
...
@@ -60,49 +60,49 @@ public protocol NavigationDrawerControllerDelegate {
...
@@ -60,49 +60,49 @@ public protocol NavigationDrawerControllerDelegate {
An optional delegation method that is fired before the
An optional delegation method that is fired before the
NavigationDrawerController opens.
NavigationDrawerController opens.
*/
*/
optional
func
navigationDrawerWillOpen
(
navigationDrawerController
:
NavigationDrawerController
,
position
:
SideNavigation
Position
)
optional
func
navigationDrawerWillOpen
(
navigationDrawerController
:
NavigationDrawerController
,
position
:
NavigationDrawer
Position
)
/**
/**
An optional delegation method that is fired after the
An optional delegation method that is fired after the
NavigationDrawerController opened.
NavigationDrawerController opened.
*/
*/
optional
func
navigationDrawerDidOpen
(
navigationDrawerController
:
NavigationDrawerController
,
position
:
SideNavigation
Position
)
optional
func
navigationDrawerDidOpen
(
navigationDrawerController
:
NavigationDrawerController
,
position
:
NavigationDrawer
Position
)
/**
/**
An optional delegation method that is fired before the
An optional delegation method that is fired before the
NavigationDrawerController closes.
NavigationDrawerController closes.
*/
*/
optional
func
navigationDrawerWillClose
(
navigationDrawerController
:
NavigationDrawerController
,
position
:
SideNavigation
Position
)
optional
func
navigationDrawerWillClose
(
navigationDrawerController
:
NavigationDrawerController
,
position
:
NavigationDrawer
Position
)
/**
/**
An optional delegation method that is fired after the
An optional delegation method that is fired after the
NavigationDrawerController closed.
NavigationDrawerController closed.
*/
*/
optional
func
navigationDrawerDidClose
(
navigationDrawerController
:
NavigationDrawerController
,
position
:
SideNavigation
Position
)
optional
func
navigationDrawerDidClose
(
navigationDrawerController
:
NavigationDrawerController
,
position
:
NavigationDrawer
Position
)
/**
/**
An optional delegation method that is fired when the
An optional delegation method that is fired when the
NavigationDrawerController pan gesture begins.
NavigationDrawerController pan gesture begins.
*/
*/
optional
func
navigationDrawerPanDidBegin
(
navigationDrawerController
:
NavigationDrawerController
,
point
:
CGPoint
,
position
:
SideNavigation
Position
)
optional
func
navigationDrawerPanDidBegin
(
navigationDrawerController
:
NavigationDrawerController
,
point
:
CGPoint
,
position
:
NavigationDrawer
Position
)
/**
/**
An optional delegation method that is fired when the
An optional delegation method that is fired when the
NavigationDrawerController pan gesture changes position.
NavigationDrawerController pan gesture changes position.
*/
*/
optional
func
navigationDrawerPanDidChange
(
navigationDrawerController
:
NavigationDrawerController
,
point
:
CGPoint
,
position
:
SideNavigation
Position
)
optional
func
navigationDrawerPanDidChange
(
navigationDrawerController
:
NavigationDrawerController
,
point
:
CGPoint
,
position
:
NavigationDrawer
Position
)
/**
/**
An optional delegation method that is fired when the
An optional delegation method that is fired when the
NavigationDrawerController pan gesture ends.
NavigationDrawerController pan gesture ends.
*/
*/
optional
func
navigationDrawerPanDidEnd
(
navigationDrawerController
:
NavigationDrawerController
,
point
:
CGPoint
,
position
:
SideNavigation
Position
)
optional
func
navigationDrawerPanDidEnd
(
navigationDrawerController
:
NavigationDrawerController
,
point
:
CGPoint
,
position
:
NavigationDrawer
Position
)
/**
/**
An optional delegation method that is fired when the
An optional delegation method that is fired when the
NavigationDrawerController tap gesture executes.
NavigationDrawerController tap gesture executes.
*/
*/
optional
func
navigationDrawerDidTap
(
navigationDrawerController
:
NavigationDrawerController
,
point
:
CGPoint
,
position
:
SideNavigation
Position
)
optional
func
navigationDrawerDidTap
(
navigationDrawerController
:
NavigationDrawerController
,
point
:
CGPoint
,
position
:
NavigationDrawer
Position
)
/**
/**
An optional delegation method that is fired when the
An optional delegation method that is fired when the
...
@@ -113,7 +113,7 @@ public protocol NavigationDrawerControllerDelegate {
...
@@ -113,7 +113,7 @@ public protocol NavigationDrawerControllerDelegate {
@IBDesignable
@IBDesignable
@objc(NavigationDrawerController)
@objc(NavigationDrawerController)
public
class
NavigationDrawerController
:
UIView
Controller
,
UIGestureRecognizerDelegate
{
public
class
NavigationDrawerController
:
Root
Controller
,
UIGestureRecognizerDelegate
{
/**
/**
A CGFloat property that is used internally to track
A CGFloat property that is used internally to track
the original (x) position of the container view when panning.
the original (x) position of the container view when panning.
...
@@ -173,19 +173,6 @@ public class NavigationDrawerController : UIViewController, UIGestureRecognizerD
...
@@ -173,19 +173,6 @@ public class NavigationDrawerController : UIViewController, UIGestureRecognizerD
public
weak
var
delegate
:
NavigationDrawerControllerDelegate
?
public
weak
var
delegate
:
NavigationDrawerControllerDelegate
?
/**
/**
A Boolean property used to enable and disable interactivity
with the rootViewController.
*/
@IBInspectable
public
var
userInteractionEnabled
:
Bool
{
get
{
return
rootViewController
.
view
.
userInteractionEnabled
}
set
(
value
)
{
rootViewController
.
view
.
userInteractionEnabled
=
value
}
}
/**
A CGFloat property that sets the animation duration of the
A CGFloat property that sets the animation duration of the
leftView when closing and opening. Defaults to 0.25.
leftView when closing and opening. Defaults to 0.25.
*/
*/
...
@@ -332,23 +319,6 @@ public class NavigationDrawerController : UIViewController, UIGestureRecognizerD
...
@@ -332,23 +319,6 @@ public class NavigationDrawerController : UIViewController, UIGestureRecognizerD
}
}
/**
/**
Content view controller to encompase the entire component. This is
primarily used when the StatusBar is being hidden. The alpha value of
the rootViewController decreases, and shows the StatusBar. To avoid
this, and to add a hidden transition viewController for complex
situations, the contentViewController was added.
*/
public
private(set)
var
contentViewController
:
UIViewController
!
/**
A UIViewController property that references the active
main UIViewController. To swap the rootViewController, it
is recommended to use the transitionFromRootViewController
helper method.
*/
public
private(set)
var
rootViewController
:
UIViewController
!
/**
A UIViewController property that references the
A UIViewController property that references the
active left UIViewController.
active left UIViewController.
*/
*/
...
@@ -373,26 +343,29 @@ public class NavigationDrawerController : UIViewController, UIGestureRecognizerD
...
@@ -373,26 +343,29 @@ public class NavigationDrawerController : UIViewController, UIGestureRecognizerD
@IBInspectable
public
private(set)
var
rightViewWidth
:
CGFloat
!
@IBInspectable
public
private(set)
var
rightViewWidth
:
CGFloat
!
/**
/**
An initializer that initializes the object with a NSCoder object.
- Parameter aDecoder: A NSCoder instance.
*/
public
required
init
?(
coder
aDecoder
:
NSCoder
)
{
super
.
init
(
coder
:
aDecoder
)
prepareView
()
}
/**
An initializer for the NavigationDrawerController.
An initializer for the NavigationDrawerController.
- Parameter rootViewController: The main UIViewController.
- Parameter rootViewController: The main UIViewController.
- Parameter leftViewController: An Optional left UIViewController.
- Parameter leftViewController: An Optional left UIViewController.
- Parameter rightViewController: An Optional right UIViewController.
- Parameter rightViewController: An Optional right UIViewController.
*/
*/
public
convenience
init
(
rootViewController
:
UIViewController
,
leftViewController
:
UIViewController
?
=
nil
,
rightViewController
:
UIViewController
?
=
nil
)
{
public
init
(
rootViewController
:
UIViewController
,
leftViewController
:
UIViewController
?
=
nil
,
rightViewController
:
UIViewController
?
=
nil
)
{
self
.
init
()
super
.
init
(
rootViewController
:
rootViewController
)
self
.
rootViewController
=
rootViewController
self
.
leftViewController
=
leftViewController
self
.
leftViewController
=
leftViewController
self
.
rightViewController
=
rightViewController
self
.
rightViewController
=
rightViewController
prepareView
()
prepareView
()
}
}
public
override
func
viewWillLayoutSubviews
()
{
super
.
viewWillLayoutSubviews
()
layoutSubviews
()
}
/// Layout subviews.
/// Layout subviews.
public
func
layoutSubviews
()
{
public
override
func
layoutSubviews
()
{
if
opened
{
if
opened
{
hideStatusBar
()
hideStatusBar
()
}
else
{
}
else
{
...
@@ -431,44 +404,6 @@ public class NavigationDrawerController : UIViewController, UIGestureRecognizerD
...
@@ -431,44 +404,6 @@ public class NavigationDrawerController : UIViewController, UIGestureRecognizerD
}
}
/**
/**
A method to swap rootViewController objects.
- Parameter toViewController: The UIViewController to swap
with the active rootViewController.
- Parameter duration: A NSTimeInterval that sets the
animation duration of the transition.
- Parameter options: UIViewAnimationOptions thst are used
when animating the transition from the active rootViewController
to the toViewController.
- Parameter animations: An animation block that is executed during
the transition from the active rootViewController
to the toViewController.
- Parameter completion: A completion block that is execited after
the transition animation from the active rootViewController
to the toViewController has completed.
*/
public
func
transitionFromRootViewController
(
toViewController
:
UIViewController
,
duration
:
NSTimeInterval
=
0.5
,
options
:
UIViewAnimationOptions
=
[],
animations
:
(()
->
Void
)?
=
nil
,
completion
:
((
Bool
)
->
Void
)?
=
nil
)
{
rootViewController
.
willMoveToParentViewController
(
nil
)
addChildViewController
(
toViewController
)
toViewController
.
view
.
frame
=
rootViewController
.
view
.
frame
transitionFromViewController
(
rootViewController
,
toViewController
:
toViewController
,
duration
:
duration
,
options
:
options
,
animations
:
animations
,
completion
:
{
[
weak
self
]
(
result
:
Bool
)
in
if
let
s
:
NavigationDrawerController
=
self
{
toViewController
.
didMoveToParentViewController
(
s
)
s
.
rootViewController
.
removeFromParentViewController
()
s
.
rootViewController
=
toViewController
s
.
rootViewController
.
view
.
clipsToBounds
=
true
s
.
rootViewController
.
view
.
autoresizingMask
=
[
.
FlexibleWidth
,
.
FlexibleHeight
]
s
.
view
.
sendSubviewToBack
(
s
.
rootViewController
.
view
)
completion
?(
result
)
}
})
}
/**
A method that is used to set the width of the leftView when
A method that is used to set the width of the leftView when
opened. This is the recommended method of setting the leftView
opened. This is the recommended method of setting the leftView
width.
width.
...
@@ -906,29 +841,12 @@ public class NavigationDrawerController : UIViewController, UIGestureRecognizerD
...
@@ -906,29 +841,12 @@ public class NavigationDrawerController : UIViewController, UIGestureRecognizerD
The super.prepareView method should always be called immediately
The super.prepareView method should always be called immediately
when subclassing.
when subclassing.
*/
*/
public
func
prepareView
()
{
public
override
func
prepareView
()
{
view
.
clipsToBounds
=
true
super
.
prepareView
()
view
.
contentScaleFactor
=
MaterialDevice
.
scale
prepareContentViewController
()
prepareRootViewController
()
prepareLeftView
()
prepareLeftView
()
prepareRightView
()
prepareRightView
()
}
}
/// Prepares the contentViewController.
private
func
prepareContentViewController
()
{
contentViewController
=
UIViewController
()
contentViewController
.
view
.
frame
=
view
.
bounds
contentViewController
.
view
.
backgroundColor
=
MaterialColor
.
black
prepareViewControllerWithinContainer
(
contentViewController
,
container
:
view
)
}
/// A method that prepares the rootViewController.
private
func
prepareRootViewController
()
{
rootViewController
.
view
.
frame
=
contentViewController
.
view
.
bounds
prepareViewControllerWithinContainer
(
rootViewController
,
container
:
contentViewController
.
view
)
}
/// A method that prepares the leftViewController.
/// A method that prepares the leftViewController.
private
func
prepareLeftViewController
()
{
private
func
prepareLeftViewController
()
{
if
let
v
:
MaterialView
=
leftView
{
if
let
v
:
MaterialView
=
leftView
{
...
@@ -985,26 +903,6 @@ public class NavigationDrawerController : UIViewController, UIGestureRecognizerD
...
@@ -985,26 +903,6 @@ public class NavigationDrawerController : UIViewController, UIGestureRecognizerD
}
}
}
}
/**
A method that adds the passed in controller as a child of
the NavigationDrawerController within the passed in
container view.
- Parameter viewController: A UIViewController to add as a child.
- Parameter container: A UIView that is the parent of the
passed in controller view within the view hierarchy.
*/
private
func
prepareViewControllerWithinContainer
(
viewController
:
UIViewController
?,
container
:
UIView
)
{
if
let
v
:
UIViewController
=
viewController
{
addChildViewController
(
v
)
v
.
didMoveToParentViewController
(
self
)
v
.
view
.
clipsToBounds
=
true
v
.
view
.
autoresizingMask
=
[
.
FlexibleWidth
,
.
FlexibleHeight
]
v
.
view
.
contentScaleFactor
=
MaterialDevice
.
scale
container
.
addSubview
(
v
.
view
)
container
.
sendSubviewToBack
(
v
.
view
)
}
}
/// A method that prepares the gestures used within the leftView.
/// A method that prepares the gestures used within the leftView.
private
func
prepareLeftViewGestures
()
{
private
func
prepareLeftViewGestures
()
{
prepareLeftPanGesture
()
prepareLeftPanGesture
()
...
...
Sources/iOS/
Bar
Controller.swift
→
Sources/iOS/
Root
Controller.swift
View file @
b2580b70
...
@@ -31,7 +31,7 @@
...
@@ -31,7 +31,7 @@
import
UIKit
import
UIKit
@IBDesignable
@IBDesignable
public
class
Bar
Controller
:
UIViewController
{
public
class
Root
Controller
:
UIViewController
{
/// Device status bar style.
/// Device status bar style.
public
var
statusBarStyle
:
UIStatusBarStyle
{
public
var
statusBarStyle
:
UIStatusBarStyle
{
get
{
get
{
...
@@ -92,6 +92,11 @@ public class BarController : UIViewController {
...
@@ -92,6 +92,11 @@ public class BarController : UIViewController {
prepareView
()
prepareView
()
}
}
public
override
func
viewWillLayoutSubviews
()
{
super
.
viewWillLayoutSubviews
()
layoutSubviews
()
}
/**
/**
A method to swap rootViewController objects.
A method to swap rootViewController objects.
- Parameter toViewController: The UIViewController to swap
- Parameter toViewController: The UIViewController to swap
...
@@ -118,19 +123,25 @@ public class BarController : UIViewController {
...
@@ -118,19 +123,25 @@ public class BarController : UIViewController {
options
:
options
,
options
:
options
,
animations
:
animations
,
animations
:
animations
,
completion
:
{
[
weak
self
]
(
result
:
Bool
)
in
completion
:
{
[
weak
self
]
(
result
:
Bool
)
in
if
let
s
:
Bar
Controller
=
self
{
if
let
s
:
Root
Controller
=
self
{
toViewController
.
didMoveToParentViewController
(
s
)
toViewController
.
didMoveToParentViewController
(
s
)
s
.
rootViewController
.
removeFromParentViewController
()
s
.
rootViewController
.
removeFromParentViewController
()
s
.
rootViewController
=
toViewController
s
.
rootViewController
=
toViewController
s
.
rootViewController
.
view
.
clipsToBounds
=
true
s
.
rootViewController
.
view
.
clipsToBounds
=
true
s
.
rootViewController
.
view
.
autoresizingMask
=
[
.
FlexibleWidth
,
.
FlexibleHeight
]
s
.
rootViewController
.
view
.
autoresizingMask
=
[
.
FlexibleWidth
,
.
FlexibleHeight
]
s
.
view
.
sendSubviewToBack
(
s
.
rootViewController
.
view
)
completion
?(
result
)
completion
?(
result
)
}
}
})
})
}
}
/**
/**
To execute in the order of the layout chain, override this
method. LayoutSubviews should be called immediately, unless you
have a certain need.
*/
public
func
layoutSubviews
()
{}
/**
Prepares the view instance when intialized. When subclassing,
Prepares the view instance when intialized. When subclassing,
it is recommended to override the prepareView method
it is recommended to override the prepareView method
to initialize property values and other setup operations.
to initialize property values and other setup operations.
...
@@ -144,7 +155,7 @@ public class BarController : UIViewController {
...
@@ -144,7 +155,7 @@ public class BarController : UIViewController {
}
}
/// A method that prepares the rootViewController.
/// A method that prepares the rootViewController.
private
func
prepareRootViewController
()
{
internal
func
prepareRootViewController
()
{
prepareViewControllerWithinContainer
(
rootViewController
,
container
:
view
)
prepareViewControllerWithinContainer
(
rootViewController
,
container
:
view
)
}
}
...
@@ -156,14 +167,15 @@ public class BarController : UIViewController {
...
@@ -156,14 +167,15 @@ public class BarController : UIViewController {
- Parameter container: A UIView that is the parent of the
- Parameter container: A UIView that is the parent of the
passed in controller view within the view hierarchy.
passed in controller view within the view hierarchy.
*/
*/
private
func
prepareViewControllerWithinContainer
(
viewController
:
UIViewController
?,
container
:
UIView
)
{
internal
func
prepareViewControllerWithinContainer
(
viewController
:
UIViewController
?,
container
:
UIView
)
{
if
let
v
:
UIViewController
=
viewController
{
if
let
v
:
UIViewController
=
viewController
{
addChildViewController
(
v
)
addChildViewController
(
v
)
container
.
addSubview
(
v
.
view
)
container
.
sendSubviewToBack
(
v
.
view
)
v
.
didMoveToParentViewController
(
self
)
v
.
didMoveToParentViewController
(
self
)
v
.
view
.
clipsToBounds
=
true
v
.
view
.
clipsToBounds
=
true
v
.
view
.
autoresizingMask
=
[
.
FlexibleWidth
,
.
FlexibleHeight
]
v
.
view
.
autoresizingMask
=
[
.
FlexibleWidth
,
.
FlexibleHeight
]
container
.
addSubview
(
v
.
view
)
v
.
view
.
contentScaleFactor
=
MaterialDevice
.
scale
container
.
sendSubviewToBack
(
v
.
view
)
}
}
}
}
}
}
Sources/iOS/SearchBarController.swift
View file @
b2580b70
...
@@ -48,17 +48,17 @@ public extension UIViewController {
...
@@ -48,17 +48,17 @@ public extension UIViewController {
}
}
}
}
public
class
SearchBarController
:
Bar
Controller
{
public
class
SearchBarController
:
Root
Controller
{
/// Reference to the SearchBar.
/// Reference to the SearchBar.
public
private(set)
var
searchBar
:
SearchBar
!
public
private(set)
var
searchBar
:
SearchBar
!
public
override
func
viewWillLayoutSubviews
()
{
/**
super
.
viewWillLayoutSubviews
()
To execute in the order of the layout chain, override this
layoutSubviews
()
method. LayoutSubviews should be called immediately, unless you
}
have a certain need.
*/
/// Layout subviews.
public
override
func
layoutSubviews
()
{
public
func
layoutSubviews
()
{
super
.
layoutSubviews
()
if
let
v
:
SearchBar
=
searchBar
{
if
let
v
:
SearchBar
=
searchBar
{
v
.
grid
.
layoutInset
.
top
=
.
iPhone
==
MaterialDevice
.
type
&&
MaterialDevice
.
isLandscape
?
0
:
20
v
.
grid
.
layoutInset
.
top
=
.
iPhone
==
MaterialDevice
.
type
&&
MaterialDevice
.
isLandscape
?
0
:
20
...
...
Sources/iOS/StatusBarController.swift
View file @
b2580b70
...
@@ -49,111 +49,19 @@ public extension UIViewController {
...
@@ -49,111 +49,19 @@ public extension UIViewController {
}
}
@IBDesignable
@IBDesignable
public
class
StatusBarController
:
UIViewController
{
public
class
StatusBarController
:
RootController
{
/// Device status bar style.
public
var
statusBarStyle
:
UIStatusBarStyle
{
get
{
return
MaterialDevice
.
statusBarStyle
}
set
(
value
)
{
MaterialDevice
.
statusBarStyle
=
value
}
}
/// A reference to the statusBarView.
/// A reference to the statusBarView.
public
private(set)
var
statusBarView
:
MaterialView
!
public
private(set)
var
statusBarView
:
MaterialView
!
/**
/**
A Boolean property used to enable and disable interactivity
To execute in the order of the layout chain, override this
with the rootViewController.
method. LayoutSubviews should be called immediately, unless you
*/
have a certain need.
@IBInspectable
public
var
userInteractionEnabled
:
Bool
{
get
{
return
rootViewController
.
view
.
userInteractionEnabled
}
set
(
value
)
{
rootViewController
.
view
.
userInteractionEnabled
=
value
}
}
/**
A UIViewController property that references the active
main UIViewController. To swap the rootViewController, it
is recommended to use the transitionFromRootViewController
helper method.
*/
public
private(set)
var
rootViewController
:
UIViewController
!
/**
An initializer that initializes the object with a NSCoder object.
- Parameter aDecoder: A NSCoder instance.
*/
public
required
init
?(
coder
aDecoder
:
NSCoder
)
{
super
.
init
(
coder
:
aDecoder
)
prepareView
()
}
/**
An initializer that initializes the object with an Optional nib and bundle.
- Parameter nibNameOrNil: An Optional String for the nib.
- Parameter bundle: An Optional NSBundle where the nib is located.
*/
public
override
init
(
nibName
nibNameOrNil
:
String
?,
bundle
nibBundleOrNil
:
NSBundle
?)
{
super
.
init
(
nibName
:
nibNameOrNil
,
bundle
:
nibBundleOrNil
)
prepareView
()
}
/**
An initializer for the BarController.
- Parameter rootViewController: The main UIViewController.
*/
*/
public
init
(
rootViewController
:
UIViewController
)
{
public
override
func
layoutSubviews
()
{
super
.
init
(
nibName
:
nil
,
bundle
:
nil
)
super
.
layoutSubviews
()
self
.
rootViewController
=
rootViewController
statusBarView
.
hidden
=
MaterialDevice
.
isLandscape
&&
.
iPhone
==
MaterialDevice
.
type
prepareView
()
rootViewController
.
view
.
frame
=
view
.
bounds
}
public
override
func
viewWillLayoutSubviews
()
{
super
.
viewWillLayoutSubviews
()
layoutSubviews
()
}
/**
A method to swap rootViewController objects.
- Parameter toViewController: The UIViewController to swap
with the active rootViewController.
- Parameter duration: A NSTimeInterval that sets the
animation duration of the transition.
- Parameter options: UIViewAnimationOptions thst are used
when animating the transition from the active rootViewController
to the toViewController.
- Parameter animations: An animation block that is executed during
the transition from the active rootViewController
to the toViewController.
- Parameter completion: A completion block that is execited after
the transition animation from the active rootViewController
to the toViewController has completed.
*/
public
func
transitionFromRootViewController
(
toViewController
:
UIViewController
,
duration
:
NSTimeInterval
=
0.5
,
options
:
UIViewAnimationOptions
=
[],
animations
:
(()
->
Void
)?
=
nil
,
completion
:
((
Bool
)
->
Void
)?
=
nil
)
{
rootViewController
.
willMoveToParentViewController
(
nil
)
addChildViewController
(
toViewController
)
toViewController
.
view
.
frame
=
rootViewController
.
view
.
frame
transitionFromViewController
(
rootViewController
,
toViewController
:
toViewController
,
duration
:
duration
,
options
:
options
,
animations
:
animations
,
completion
:
{
[
weak
self
]
(
result
:
Bool
)
in
if
let
s
:
StatusBarController
=
self
{
toViewController
.
didMoveToParentViewController
(
s
)
s
.
rootViewController
.
removeFromParentViewController
()
s
.
rootViewController
=
toViewController
s
.
rootViewController
.
view
.
clipsToBounds
=
true
s
.
rootViewController
.
view
.
autoresizingMask
=
[
.
FlexibleWidth
,
.
FlexibleHeight
]
s
.
view
.
sendSubviewToBack
(
s
.
rootViewController
.
view
)
completion
?(
result
)
}
})
}
}
/**
/**
...
@@ -163,11 +71,9 @@ public class StatusBarController : UIViewController {
...
@@ -163,11 +71,9 @@ public class StatusBarController : UIViewController {
The super.prepareView method should always be called immediately
The super.prepareView method should always be called immediately
when subclassing.
when subclassing.
*/
*/
public
func
prepareView
()
{
public
override
func
prepareView
()
{
view
.
clipsToBounds
=
true
super
.
prepareView
()
view
.
contentScaleFactor
=
MaterialDevice
.
scale
prepareStatusBarView
()
prepareStatusBarView
()
prepareRootViewController
()
}
}
/// Prepares the statusBarView.
/// Prepares the statusBarView.
...
@@ -177,34 +83,4 @@ public class StatusBarController : UIViewController {
...
@@ -177,34 +83,4 @@ public class StatusBarController : UIViewController {
statusBarView
.
backgroundColor
=
MaterialColor
.
black
.
colorWithAlphaComponent
(
0.12
)
statusBarView
.
backgroundColor
=
MaterialColor
.
black
.
colorWithAlphaComponent
(
0.12
)
view
.
layout
(
statusBarView
)
.
top
(
0
)
.
horizontally
()
.
height
(
20
)
view
.
layout
(
statusBarView
)
.
top
(
0
)
.
horizontally
()
.
height
(
20
)
}
}
/// A method that prepares the rootViewController.
private
func
prepareRootViewController
()
{
prepareViewControllerWithinContainer
(
rootViewController
,
container
:
view
)
}
/**
A method that adds the passed in controller as a child of
the StatusBarController within the passed in
container view.
- Parameter viewController: A UIViewController to add as a child.
- Parameter container: A UIView that is the parent of the
passed in controller view within the view hierarchy.
*/
private
func
prepareViewControllerWithinContainer
(
viewController
:
UIViewController
?,
container
:
UIView
)
{
if
let
v
:
UIViewController
=
viewController
{
addChildViewController
(
v
)
v
.
didMoveToParentViewController
(
self
)
v
.
view
.
clipsToBounds
=
true
v
.
view
.
autoresizingMask
=
[
.
FlexibleWidth
,
.
FlexibleHeight
]
container
.
addSubview
(
v
.
view
)
container
.
sendSubviewToBack
(
v
.
view
)
}
}
/// Layout subviews.
private
func
layoutSubviews
()
{
statusBarView
.
hidden
=
MaterialDevice
.
isLandscape
&&
.
iPhone
==
MaterialDevice
.
type
rootViewController
.
view
.
frame
=
view
.
bounds
}
}
}
Sources/iOS/ToolbarController.swift
View file @
b2580b70
...
@@ -64,7 +64,7 @@ public protocol ToolbarControllerDelegate : MaterialDelegate {
...
@@ -64,7 +64,7 @@ public protocol ToolbarControllerDelegate : MaterialDelegate {
}
}
@objc(ToolbarController)
@objc(ToolbarController)
public
class
ToolbarController
:
Bar
Controller
{
public
class
ToolbarController
:
Root
Controller
{
/// Internal reference to the floatingViewController.
/// Internal reference to the floatingViewController.
private
var
internalFloatingViewController
:
UIViewController
?
private
var
internalFloatingViewController
:
UIViewController
?
...
@@ -151,13 +151,13 @@ public class ToolbarController : BarController {
...
@@ -151,13 +151,13 @@ public class ToolbarController : BarController {
}
}
}
}
public
override
func
viewWillLayoutSubviews
()
{
/**
super
.
viewWillLayoutSubviews
()
To execute in the order of the layout chain, override this
layoutSubviews
()
method. LayoutSubviews should be called immediately, unless you
}
have a certain need.
*/
/// Layout subviews.
public
override
func
layoutSubviews
()
{
public
func
layoutSubviews
()
{
super
.
layoutSubviews
()
if
let
v
:
Toolbar
=
toolbar
{
if
let
v
:
Toolbar
=
toolbar
{
v
.
grid
.
layoutInset
.
top
=
.
iPhone
==
MaterialDevice
.
type
&&
MaterialDevice
.
isLandscape
?
0
:
20
v
.
grid
.
layoutInset
.
top
=
.
iPhone
==
MaterialDevice
.
type
&&
MaterialDevice
.
isLandscape
?
0
:
20
...
...
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