Commit 9823fb29 by Daniel Dahan

development: updated sample projects

parent fecfd6a1
...@@ -110,7 +110,6 @@ ...@@ -110,7 +110,6 @@
TargetAttributes = { TargetAttributes = {
9697F77E1D8F2002004741EC = { 9697F77E1D8F2002004741EC = {
CreatedOnToolsVersion = 8.0; CreatedOnToolsVersion = 8.0;
DevelopmentTeam = 9Z76XCNLGL;
ProvisioningStyle = Automatic; ProvisioningStyle = Automatic;
}; };
}; };
...@@ -267,7 +266,7 @@ ...@@ -267,7 +266,7 @@
isa = XCBuildConfiguration; isa = XCBuildConfiguration;
buildSettings = { buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
DEVELOPMENT_TEAM = 9Z76XCNLGL; DEVELOPMENT_TEAM = "";
INFOPLIST_FILE = MenuController/Info.plist; INFOPLIST_FILE = MenuController/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
PRODUCT_BUNDLE_IDENTIFIER = io.cosmicmind.MenuController; PRODUCT_BUNDLE_IDENTIFIER = io.cosmicmind.MenuController;
...@@ -280,7 +279,7 @@ ...@@ -280,7 +279,7 @@
isa = XCBuildConfiguration; isa = XCBuildConfiguration;
buildSettings = { buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
DEVELOPMENT_TEAM = 9Z76XCNLGL; DEVELOPMENT_TEAM = "";
INFOPLIST_FILE = MenuController/Info.plist; INFOPLIST_FILE = MenuController/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
PRODUCT_BUNDLE_IDENTIFIER = io.cosmicmind.MenuController; PRODUCT_BUNDLE_IDENTIFIER = io.cosmicmind.MenuController;
......
...@@ -41,9 +41,6 @@ class AppMenuController: MenuController { ...@@ -41,9 +41,6 @@ class AppMenuController: MenuController {
/// Menu right inset. /// Menu right inset.
private let rightInset: CGFloat = 24 private let rightInset: CGFloat = 24
/// Reference if the menu is hidden.
private(set) var isMenuHidden = false
open override func prepare() { open override func prepare() {
super.prepare() super.prepare()
view.backgroundColor = Color.black view.backgroundColor = Color.black
...@@ -51,11 +48,6 @@ class AppMenuController: MenuController { ...@@ -51,11 +48,6 @@ class AppMenuController: MenuController {
prepareMenu() prepareMenu()
} }
open override func viewWillDisappear(_ animated: Bool) {
super.viewWillDisappear(animated)
closeMenu()
}
open override func openMenu(completion: ((UIView) -> Void)? = nil) { open override func openMenu(completion: ((UIView) -> Void)? = nil) {
super.openMenu(completion: completion) super.openMenu(completion: completion)
menu.views.first?.animate(animation: Animation.rotate(angle: 45)) menu.views.first?.animate(animation: Animation.rotate(angle: 45))
...@@ -66,47 +58,13 @@ class AppMenuController: MenuController { ...@@ -66,47 +58,13 @@ class AppMenuController: MenuController {
menu.views.first?.animate(animation: Animation.rotate(angle: 0)) menu.views.first?.animate(animation: Animation.rotate(angle: 0))
} }
/// Shows the menu.
func showMenu() {
guard isMenuHidden else {
return
}
isMenuHidden = false
menu.animate(animation: Animation.animationGroup(animations: [
Animation.rotate(rotation: 3),
Animation.translateY(translation: 0)
]))
}
/// Hides the menu.
func hideMenu() {
guard !isMenuHidden else {
return
}
isMenuHidden = true
menu.animate(animation: Animation.animationGroup(animations: [
Animation.rotate(rotation: 3),
Animation.translateY(translation: 150)
]))
}
/// Prepares the menuView. /// Prepares the menuView.
private func prepareMenu() { private func prepareMenu() {
menu.isHidden = true
menu.baseSize = baseSize menu.baseSize = baseSize
view.layout(menu) view.layout(menu)
.size(baseSize) .size(baseSize)
.bottom(bottomInset) .bottom(bottomInset)
.right(rightInset) .right(rightInset)
hideMenu()
Animation.delay(time: 0.5) { [weak self] in
self?.menu.isHidden = false
}
} }
} }
...@@ -43,7 +43,7 @@ class RootViewController: UIViewController { ...@@ -43,7 +43,7 @@ class RootViewController: UIViewController {
override func viewDidLoad() { override func viewDidLoad() {
super.viewDidLoad() super.viewDidLoad()
view.backgroundColor = Color.grey.lighten5 view.backgroundColor = Color.grey.lighten1
prepareAddButton() prepareAddButton()
prepareAudioLibraryButton() prepareAudioLibraryButton()
...@@ -52,28 +52,8 @@ class RootViewController: UIViewController { ...@@ -52,28 +52,8 @@ class RootViewController: UIViewController {
open override func viewDidAppear(_ animated: Bool) { open override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated) super.viewDidAppear(animated)
guard let mc = menuController as? AppMenuController else {
return
}
prepareMenuController() prepareMenuController()
Animation.delay(time: 1) { [mc = mc] in
mc.showMenu()
}
Animation.delay(time: 5) { [mc = mc] in
mc.hideMenu()
}
}
open override func viewWillDisappear(_ animated: Bool) {
super.viewWillDisappear(animated)
guard let mc = menuController as? AppMenuController else {
return
}
mc.hideMenu()
} }
/// Handle the menu toggle event. /// Handle the menu toggle event.
...@@ -97,6 +77,7 @@ class RootViewController: UIViewController { ...@@ -97,6 +77,7 @@ class RootViewController: UIViewController {
private func prepareAddButton() { private func prepareAddButton() {
addButton = FabButton(image: Icon.cm.add, tintColor: Color.white) addButton = FabButton(image: Icon.cm.add, tintColor: Color.white)
addButton.backgroundColor = Color.blue.base addButton.backgroundColor = Color.blue.base
addButton.addTarget(self, action: #selector(handleToggleMenu), for: .touchUpInside)
} }
/// Prepares the audioLibraryButton. /// Prepares the audioLibraryButton.
...@@ -122,15 +103,7 @@ class RootViewController: UIViewController { ...@@ -122,15 +103,7 @@ class RootViewController: UIViewController {
} }
mc.menu.delegate = self mc.menu.delegate = self
mc.menu.views = [addButton, reminderMenuItem, audioLibraryMenuItem] mc.menu.views = [addButton, audioLibraryMenuItem, reminderMenuItem]
addToggleHandler(button: addButton)
}
/// Adds the menuController toggle handlers.
private func addToggleHandler(button: Button) {
button.removeTarget(self, action: #selector(handleToggleMenu), for: .touchUpInside)
button.addTarget(self, action: #selector(handleToggleMenu), for: .touchUpInside)
} }
} }
......
...@@ -48,7 +48,6 @@ class AppNavigationController: NavigationController { ...@@ -48,7 +48,6 @@ class AppNavigationController: NavigationController {
v.depthPreset = .none v.depthPreset = .none
v.divider.color = Color.grey.lighten3 v.divider.color = Color.grey.lighten3
v.backgroundColor = Color.blue.base
} }
} }
...@@ -34,7 +34,7 @@ import Material ...@@ -34,7 +34,7 @@ import Material
class NextViewController: UIViewController { class NextViewController: UIViewController {
override func viewDidLoad() { override func viewDidLoad() {
super.viewDidLoad() super.viewDidLoad()
view.backgroundColor = Color.indigo.base view.backgroundColor = Color.grey.base
prepareNavigationItem() prepareNavigationItem()
} }
......
...@@ -42,7 +42,7 @@ class RootViewController: UIViewController { ...@@ -42,7 +42,7 @@ class RootViewController: UIViewController {
override func viewDidLoad() { override func viewDidLoad() {
super.viewDidLoad() super.viewDidLoad()
view.backgroundColor = Color.lightBlue.base view.backgroundColor = Color.grey.lighten1
prepareMenuButton() prepareMenuButton()
prepareStarButton() prepareStarButton()
...@@ -76,8 +76,8 @@ class RootViewController: UIViewController { ...@@ -76,8 +76,8 @@ class RootViewController: UIViewController {
} }
private func prepareNextButton() { private func prepareNextButton() {
nextButton = FlatButton(title: "Next View Controller", titleColor: Color.white) nextButton = FlatButton()
nextButton.pulseColor = Color.white nextButton.pulseAnimation = .none
nextButton.addTarget(self, action: #selector(handleNextButton), for: .touchUpInside) nextButton.addTarget(self, action: #selector(handleNextButton), for: .touchUpInside)
view.layout(nextButton).edges() view.layout(nextButton).edges()
} }
......
...@@ -14,6 +14,19 @@ ...@@ -14,6 +14,19 @@
9697F7B31D8F208F004741EC /* AppSnackbarController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9697F7B21D8F208F004741EC /* AppSnackbarController.swift */; }; 9697F7B31D8F208F004741EC /* AppSnackbarController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9697F7B21D8F208F004741EC /* AppSnackbarController.swift */; };
/* End PBXBuildFile section */ /* End PBXBuildFile section */
/* Begin PBXCopyFilesBuildPhase section */
96784E5D1D8FE75C0061C06C /* Embed Frameworks */ = {
isa = PBXCopyFilesBuildPhase;
buildActionMask = 2147483647;
dstPath = "";
dstSubfolderSpec = 10;
files = (
);
name = "Embed Frameworks";
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXCopyFilesBuildPhase section */
/* Begin PBXFileReference section */ /* Begin PBXFileReference section */
9697F79D1D8F2058004741EC /* SnackbarController.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = SnackbarController.app; sourceTree = BUILT_PRODUCTS_DIR; }; 9697F79D1D8F2058004741EC /* SnackbarController.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = SnackbarController.app; sourceTree = BUILT_PRODUCTS_DIR; };
9697F7A01D8F2058004741EC /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; }; 9697F7A01D8F2058004741EC /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
...@@ -74,6 +87,7 @@ ...@@ -74,6 +87,7 @@
9697F7991D8F2058004741EC /* Sources */, 9697F7991D8F2058004741EC /* Sources */,
9697F79A1D8F2058004741EC /* Frameworks */, 9697F79A1D8F2058004741EC /* Frameworks */,
9697F79B1D8F2058004741EC /* Resources */, 9697F79B1D8F2058004741EC /* Resources */,
96784E5D1D8FE75C0061C06C /* Embed Frameworks */,
); );
buildRules = ( buildRules = (
); );
...@@ -252,6 +266,7 @@ ...@@ -252,6 +266,7 @@
isa = XCBuildConfiguration; isa = XCBuildConfiguration;
buildSettings = { buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
DEVELOPMENT_TEAM = "";
INFOPLIST_FILE = SnackbarController/Info.plist; INFOPLIST_FILE = SnackbarController/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
PRODUCT_BUNDLE_IDENTIFIER = io.cosmicmind.SnackbarController; PRODUCT_BUNDLE_IDENTIFIER = io.cosmicmind.SnackbarController;
...@@ -264,6 +279,7 @@ ...@@ -264,6 +279,7 @@
isa = XCBuildConfiguration; isa = XCBuildConfiguration;
buildSettings = { buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
DEVELOPMENT_TEAM = "";
INFOPLIST_FILE = SnackbarController/Info.plist; INFOPLIST_FILE = SnackbarController/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
PRODUCT_BUNDLE_IDENTIFIER = io.cosmicmind.SnackbarController; PRODUCT_BUNDLE_IDENTIFIER = io.cosmicmind.SnackbarController;
......
...@@ -37,27 +37,40 @@ class RootViewController: UIViewController { ...@@ -37,27 +37,40 @@ class RootViewController: UIViewController {
override func viewDidLoad() { override func viewDidLoad() {
super.viewDidLoad() super.viewDidLoad()
view.backgroundColor = Color.lightBlue.base view.backgroundColor = Color.grey.lighten1
prepareUndoButton()
} }
open override func viewDidAppear(_ animated: Bool) { open override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated) super.viewDidAppear(animated)
guard let mc = menuController as? AppMenuController else {
prepareSnackbar()
animateSnackbar()
}
private func prepareUndoButton() {
undoButton = FlatButton(title: "Undo", titleColor: Color.yellow.base)
undoButton.pulseAnimation = .backing
undoButton.titleLabel?.font = RobotoFont.regular(with: 14)
}
private func prepareSnackbar() {
guard let sc = snackbarController else {
return return
} }
prepareMenuController() sc.snackbar.text = "Reminder saved."
sc.snackbar.rightViews = [undoButton]
mc.showMenu()
} }
open override func viewWillDisappear(_ animated: Bool) { private func animateSnackbar() {
super.viewWillDisappear(animated) guard let sc = snackbarController else {
guard let mc = menuController as? AppMenuController else {
return return
} }
mc.hideMenu() _ = sc.animate(snackbar: .visible, delay: 1)
_ = sc.animate(snackbar: .hidden, delay: 4)
} }
} }
...@@ -485,8 +485,8 @@ ...@@ -485,8 +485,8 @@
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
96BCB78E1CB40DC500C806FE /* Menu.swift */, 96BCB78E1CB40DC500C806FE /* Menu.swift */,
96BCB78F1CB40DC500C806FE /* MenuController.swift */,
9697F7B61D8F22A4004741EC /* MenuItem.swift */, 9697F7B61D8F22A4004741EC /* MenuItem.swift */,
96BCB78F1CB40DC500C806FE /* MenuController.swift */,
); );
name = Menu; name = Menu;
sourceTree = "<group>"; sourceTree = "<group>";
......
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