Commit 1d6ef3d2 by Daniel Dahan

organized projects

parent 44149d76
...@@ -7,183 +7,87 @@ ...@@ -7,183 +7,87 @@
<Group <Group
location = "container:" location = "container:"
name = "Programmatic"> name = "Programmatic">
<Group <FileRef
location = "container:" location = "group:Programmatic/MaterialLayout/MaterialLayout.xcodeproj">
name = "MaterialLayout"> </FileRef>
<FileRef <FileRef
location = "group:Programmatic/MaterialLayout/MaterialLayout.xcodeproj"> location = "group:Programmatic/Grid/Grid.xcodeproj">
</FileRef> </FileRef>
</Group> <FileRef
<Group location = "group:Programmatic/MaterialLayer/MaterialLayer.xcodeproj">
location = "container:" </FileRef>
name = "Grid"> <FileRef
<FileRef location = "group:Programmatic/MaterialView/MaterialView.xcodeproj">
location = "group:Programmatic/Grid/Grid.xcodeproj"> </FileRef>
</FileRef> <FileRef
</Group> location = "group:Programmatic/MaterialPulseView/MaterialPulseView.xcodeproj">
<Group </FileRef>
location = "container:" <FileRef
name = "MaterialLayer"> location = "group:Programmatic/TextField/TextField.xcodeproj">
<FileRef </FileRef>
location = "group:Programmatic/MaterialLayer/MaterialLayer.xcodeproj"> <FileRef
</FileRef> location = "group:Programmatic/TextView/TextView.xcodeproj">
</Group> </FileRef>
<Group <FileRef
location = "container:" location = "group:Programmatic/MaterialButton/MaterialButton.xcodeproj">
name = "TextField"> </FileRef>
<FileRef <FileRef
location = "group:Programmatic/TextField/TextField.xcodeproj"> location = "group:Programmatic/MaterialSwitch/MaterialSwitch.xcodeproj">
</FileRef> </FileRef>
</Group> <FileRef
<Group location = "group:Programmatic/Menu/Menu.xcodeproj">
location = "container:" </FileRef>
name = "TextView"> <FileRef
<FileRef location = "group:Programmatic/MenuView/MenuView.xcodeproj">
location = "group:Programmatic/TextView/TextView.xcodeproj"> </FileRef>
</FileRef> <FileRef
</Group> location = "group:Programmatic/NavigationBarView/NavigationBarView.xcodeproj">
<Group </FileRef>
location = "container:" <FileRef
name = "MaterialView"> location = "group:Programmatic/NavigationBarViewController/NavigationBarViewController.xcodeproj">
<FileRef </FileRef>
location = "group:Programmatic/MaterialView/MaterialView.xcodeproj"> <FileRef
</FileRef> location = "group:Programmatic/SearchBarView/SearchBarView.xcodeproj">
</Group> </FileRef>
<Group <FileRef
location = "container:" location = "group:Programmatic/SearchBarViewController/SearchBarViewController.xcodeproj">
name = "MaterialPulseView"> </FileRef>
<FileRef <FileRef
location = "group:Programmatic/MaterialPulseView/MaterialPulseView.xcodeproj"> location = "group:Programmatic/SideNavigationViewController/SideNavigationViewController.xcodeproj">
</FileRef> </FileRef>
</Group> <FileRef
<Group location = "group:Programmatic/CardView/CardView.xcodeproj">
location = "container:" </FileRef>
name = "MaterialButton"> <FileRef
<FileRef location = "group:Programmatic/TableCardView/TableCardView.xcodeproj">
location = "group:Programmatic/MaterialButton/MaterialButton.xcodeproj"> </FileRef>
</FileRef> <FileRef
</Group> location = "group:Programmatic/ImageCardView/ImageCardView.xcodeproj">
<Group </FileRef>
location = "container:" <FileRef
name = "Menu"> location = "group:Programmatic/CaptureView/CaptureView.xcodeproj">
<FileRef </FileRef>
location = "group:Programmatic/Menu/Menu.xcodeproj">
</FileRef>
<FileRef
location = "group:Programmatic/MenuView/MenuView.xcodeproj">
</FileRef>
</Group>
<Group
location = "container:"
name = "MaterialSwitch">
<FileRef
location = "group:Programmatic/MaterialSwitch/MaterialSwitch.xcodeproj">
</FileRef>
</Group>
<Group
location = "container:"
name = "NavigationBarView">
<FileRef
location = "group:Programmatic/NavigationBarView/NavigationBarView.xcodeproj">
</FileRef>
</Group>
<Group
location = "container:"
name = "SearchBarView">
<FileRef
location = "group:Programmatic/SearchBarView/SearchBarView.xcodeproj">
</FileRef>
</Group>
<Group
location = "container:"
name = "SearchBarViewController">
<FileRef
location = "group:Programmatic/SearchBarViewController/SearchBarViewController.xcodeproj">
</FileRef>
</Group>
<Group
location = "container:"
name = "NavigationBarViewController">
<FileRef
location = "group:Programmatic/NavigationBarViewController/NavigationBarViewController.xcodeproj">
</FileRef>
</Group>
<Group
location = "container:"
name = "SideNavigationViewController">
<FileRef
location = "group:Programmatic/SideNavigationViewController/SideNavigationViewController.xcodeproj">
</FileRef>
</Group>
<Group
location = "container:"
name = "CardView">
<FileRef
location = "group:Programmatic/CardView/CardView.xcodeproj">
</FileRef>
<FileRef
location = "group:Programmatic/TableCardView/TableCardView.xcodeproj">
</FileRef>
</Group>
<Group
location = "container:"
name = "ImageCardView">
<FileRef
location = "group:Programmatic/ImageCardView/ImageCardView.xcodeproj">
</FileRef>
</Group>
<Group
location = "container:"
name = "CaptureView">
<FileRef
location = "group:Programmatic/CaptureView/CaptureView.xcodeproj">
</FileRef>
</Group>
</Group> </Group>
<Group <Group
location = "container:" location = "container:"
name = "Storyboards"> name = "Storyboards">
<Group <FileRef
location = "container:" location = "group:Storyboards/MaterialPulseView/MaterialPulseView.xcodeproj">
name = "MaterialPulseView"> </FileRef>
<FileRef <FileRef
location = "group:Storyboards/MaterialPulseView/MaterialPulseView.xcodeproj"> location = "group:Storyboards/MaterialButton/MaterialButton.xcodeproj">
</FileRef> </FileRef>
</Group> <FileRef
<Group location = "group:Storyboards/NavigationBarView/NavigationBarView.xcodeproj">
location = "container:" </FileRef>
name = "MaterialButton"> <FileRef
<FileRef location = "group:Storyboards/SideNavigationViewController/SideNavigationViewController.xcodeproj">
location = "group:Storyboards/MaterialButton/MaterialButton.xcodeproj"> </FileRef>
</FileRef> <FileRef
</Group> location = "group:Storyboards/CardView/CardView.xcodeproj">
<Group </FileRef>
location = "container:" <FileRef
name = "NavigationBarView"> location = "group:Storyboards/ImageCardView/ImageCardView.xcodeproj">
<FileRef </FileRef>
location = "group:Storyboards/NavigationBarView/NavigationBarView.xcodeproj">
</FileRef>
</Group>
<Group
location = "container:"
name = "SideNavigationViewController">
<FileRef
location = "group:Storyboards/SideNavigationViewController/SideNavigationViewController.xcodeproj">
</FileRef>
</Group>
<Group
location = "container:"
name = "CardView">
<FileRef
location = "group:Storyboards/CardView/CardView.xcodeproj">
</FileRef>
</Group>
<Group
location = "container:"
name = "ImageCardView">
<FileRef
location = "group:Storyboards/ImageCardView/ImageCardView.xcodeproj">
</FileRef>
</Group>
</Group> </Group>
</Workspace> </Workspace>
...@@ -18,7 +18,7 @@ ...@@ -18,7 +18,7 @@
96A71FC61C765FDF00C0C4AE /* AppNavigationBarViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 96A71FC51C765FDF00C0C4AE /* AppNavigationBarViewController.swift */; }; 96A71FC61C765FDF00C0C4AE /* AppNavigationBarViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 96A71FC51C765FDF00C0C4AE /* AppNavigationBarViewController.swift */; };
96A71FCB1C765FDF00C0C4AE /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 96A71FCA1C765FDF00C0C4AE /* Assets.xcassets */; }; 96A71FCB1C765FDF00C0C4AE /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 96A71FCA1C765FDF00C0C4AE /* Assets.xcassets */; };
96A71FCE1C765FDF00C0C4AE /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 96A71FCC1C765FDF00C0C4AE /* LaunchScreen.storyboard */; }; 96A71FCE1C765FDF00C0C4AE /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 96A71FCC1C765FDF00C0C4AE /* LaunchScreen.storyboard */; };
96A71FD61C76618D00C0C4AE /* FeedViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 96A71FD51C76618D00C0C4AE /* FeedViewController.swift */; }; 96A71FD61C76618D00C0C4AE /* YellowViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 96A71FD51C76618D00C0C4AE /* YellowViewController.swift */; };
96A7200C1C76E53A00C0C4AE /* Material.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 96A7200B1C76E53A00C0C4AE /* Material.framework */; }; 96A7200C1C76E53A00C0C4AE /* Material.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 96A7200B1C76E53A00C0C4AE /* Material.framework */; };
96A7200D1C76E53A00C0C4AE /* Material.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 96A7200B1C76E53A00C0C4AE /* Material.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; 96A7200D1C76E53A00C0C4AE /* Material.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 96A7200B1C76E53A00C0C4AE /* Material.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
/* End PBXBuildFile section */ /* End PBXBuildFile section */
...@@ -51,7 +51,7 @@ ...@@ -51,7 +51,7 @@
96A71FCA1C765FDF00C0C4AE /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; }; 96A71FCA1C765FDF00C0C4AE /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
96A71FCD1C765FDF00C0C4AE /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; }; 96A71FCD1C765FDF00C0C4AE /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; };
96A71FCF1C765FDF00C0C4AE /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; }; 96A71FCF1C765FDF00C0C4AE /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
96A71FD51C76618D00C0C4AE /* FeedViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FeedViewController.swift; sourceTree = "<group>"; }; 96A71FD51C76618D00C0C4AE /* YellowViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = YellowViewController.swift; sourceTree = "<group>"; };
96A7200B1C76E53A00C0C4AE /* Material.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; name = Material.framework; path = "/Users/danieldahan/Library/Developer/Xcode/DerivedData/Material-hbpnflxhoouqxebjcyhbbhqyesjd/Build/Products/Debug-iphoneos/Material.framework"; sourceTree = "<absolute>"; }; 96A7200B1C76E53A00C0C4AE /* Material.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; name = Material.framework; path = "/Users/danieldahan/Library/Developer/Xcode/DerivedData/Material-hbpnflxhoouqxebjcyhbbhqyesjd/Build/Products/Debug-iphoneos/Material.framework"; sourceTree = "<absolute>"; };
/* End PBXFileReference section */ /* End PBXFileReference section */
...@@ -93,7 +93,7 @@ ...@@ -93,7 +93,7 @@
9626C2DF1C7950AB007CA8E0 /* AppMenuViewController.swift */, 9626C2DF1C7950AB007CA8E0 /* AppMenuViewController.swift */,
9626C2E11C795717007CA8E0 /* AppLeftViewController.swift */, 9626C2E11C795717007CA8E0 /* AppLeftViewController.swift */,
9626C2E31C79594B007CA8E0 /* AppRightViewController.swift */, 9626C2E31C79594B007CA8E0 /* AppRightViewController.swift */,
96A71FD51C76618D00C0C4AE /* FeedViewController.swift */, 96A71FD51C76618D00C0C4AE /* YellowViewController.swift */,
9600361A1C7828BB00EBA579 /* BlueViewController.swift */, 9600361A1C7828BB00EBA579 /* BlueViewController.swift */,
9600361C1C7829EF00EBA579 /* GreenViewController.swift */, 9600361C1C7829EF00EBA579 /* GreenViewController.swift */,
9626C2E51C7962B5007CA8E0 /* SearchListViewController.swift */, 9626C2E51C7962B5007CA8E0 /* SearchListViewController.swift */,
...@@ -178,7 +178,7 @@ ...@@ -178,7 +178,7 @@
9600361B1C7828BB00EBA579 /* BlueViewController.swift in Sources */, 9600361B1C7828BB00EBA579 /* BlueViewController.swift in Sources */,
9626C2E61C7962B5007CA8E0 /* SearchListViewController.swift in Sources */, 9626C2E61C7962B5007CA8E0 /* SearchListViewController.swift in Sources */,
9626C2E21C795717007CA8E0 /* AppLeftViewController.swift in Sources */, 9626C2E21C795717007CA8E0 /* AppLeftViewController.swift in Sources */,
96A71FD61C76618D00C0C4AE /* FeedViewController.swift in Sources */, 96A71FD61C76618D00C0C4AE /* YellowViewController.swift in Sources */,
9626C2E81C7962D5007CA8E0 /* AppSearchBarViewController.swift in Sources */, 9626C2E81C7962D5007CA8E0 /* AppSearchBarViewController.swift in Sources */,
9600361D1C7829EF00EBA579 /* GreenViewController.swift in Sources */, 9600361D1C7829EF00EBA579 /* GreenViewController.swift in Sources */,
96A71FC61C765FDF00C0C4AE /* AppNavigationBarViewController.swift in Sources */, 96A71FC61C765FDF00C0C4AE /* AppNavigationBarViewController.swift in Sources */,
......
...@@ -39,7 +39,7 @@ class AppDelegate: UIResponder, UIApplicationDelegate { ...@@ -39,7 +39,7 @@ class AppDelegate: UIResponder, UIApplicationDelegate {
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
// Override point for customization after application launch. // Override point for customization after application launch.
window = UIWindow(frame: UIScreen.mainScreen().bounds) window = UIWindow(frame: UIScreen.mainScreen().bounds)
window!.rootViewController = SideNavigationViewController(mainViewController: AppMenuViewController(mainViewController: AppNavigationBarViewController(mainViewController: FeedViewController())), leftViewController: AppLeftViewController(), rightViewController: AppRightViewController()) window!.rootViewController = SideNavigationViewController(mainViewController: AppMenuViewController(mainViewController: AppNavigationBarViewController(mainViewController: YellowViewController())), leftViewController: AppLeftViewController(), rightViewController: AppRightViewController())
window!.makeKeyAndVisible() window!.makeKeyAndVisible()
return true return true
} }
...@@ -65,7 +65,5 @@ class AppDelegate: UIResponder, UIApplicationDelegate { ...@@ -65,7 +65,5 @@ class AppDelegate: UIResponder, UIApplicationDelegate {
func applicationWillTerminate(application: UIApplication) { func applicationWillTerminate(application: UIApplication) {
// Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:. // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.
} }
} }
...@@ -77,22 +77,26 @@ class AppMenuViewController: MenuViewController { ...@@ -77,22 +77,26 @@ class AppMenuViewController: MenuViewController {
*/ */
func handleBtn4() { func handleBtn4() {
if (menuViewController?.mainViewController as? NavigationBarViewController)?.mainViewController is FeedViewController { if (menuViewController?.mainViewController as? NavigationBarViewController)?.mainViewController is YellowViewController {
return return
} }
closeMenu { [weak self] in closeMenu { [weak self] in
self?.menuViewController?.transitionFromMainViewController(AppNavigationBarViewController(mainViewController: FeedViewController()), options: [.TransitionCrossDissolve]) self?.menuViewController?.transitionFromMainViewController(AppNavigationBarViewController(mainViewController: YellowViewController()), options: [.TransitionCrossDissolve])
} }
} }
/// Opens the menu with a callback. /// Opens the menu with a callback.
func openMenu(completion: (() -> Void)? = nil) { func openMenu(completion: (() -> Void)? = nil) {
(menuView.menu.views?.first as? MaterialButton)?.animate(MaterialAnimation.rotate(0.125)) (menuView.menu.views?.first as? MaterialButton)?.animate(MaterialAnimation.rotate(0.125))
menuView.menu.open { [weak self] (v: UIView) in if true == menuView.menu.views?.first?.userInteractionEnabled {
(v as? MaterialButton)?.pulse() menuView.menu.views?.first?.userInteractionEnabled = false
if self?.menuView.menu.views?.last == v { menuView.menu.open { [weak self] (v: UIView) in
completion?() (v as? MaterialButton)?.pulse()
if self?.menuView.menu.views?.last == v {
self?.menuView.menu.views?.first?.userInteractionEnabled = true
completion?()
}
} }
} }
} }
......
...@@ -37,7 +37,7 @@ private struct Item { ...@@ -37,7 +37,7 @@ private struct Item {
var image: UIImage? var image: UIImage?
} }
class FeedViewController: UIViewController { class YellowViewController: UIViewController {
/// A tableView used to display Bond entries. /// A tableView used to display Bond entries.
private let tableView: UITableView = UITableView() private let tableView: UITableView = UITableView()
...@@ -90,7 +90,7 @@ class FeedViewController: UIViewController { ...@@ -90,7 +90,7 @@ class FeedViewController: UIViewController {
} }
/// TableViewDataSource methods. /// TableViewDataSource methods.
extension FeedViewController: UITableViewDataSource { extension YellowViewController: UITableViewDataSource {
/// Determines the number of rows in the tableView. /// Determines the number of rows in the tableView.
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int { func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return items.count; return items.count;
...@@ -137,7 +137,7 @@ extension FeedViewController: UITableViewDataSource { ...@@ -137,7 +137,7 @@ extension FeedViewController: UITableViewDataSource {
} }
/// UITableViewDelegate methods. /// UITableViewDelegate methods.
extension FeedViewController: UITableViewDelegate { extension YellowViewController: UITableViewDelegate {
/// Sets the tableView cell height. /// Sets the tableView cell height.
func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat { func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
return 80 return 80
......
...@@ -7,8 +7,6 @@ ...@@ -7,8 +7,6 @@
objects = { objects = {
/* Begin PBXBuildFile section */ /* Begin PBXBuildFile section */
9626C2F51C7A43CD007CA8E0 /* Material.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9626C2F41C7A43CD007CA8E0 /* Material.framework */; };
9626C2F61C7A43CD007CA8E0 /* Material.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 9626C2F41C7A43CD007CA8E0 /* Material.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
966F57A11C226BAA009185B7 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 966F57A01C226BAA009185B7 /* AppDelegate.swift */; }; 966F57A11C226BAA009185B7 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 966F57A01C226BAA009185B7 /* AppDelegate.swift */; };
966F57A31C226BAA009185B7 /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 966F57A21C226BAA009185B7 /* ViewController.swift */; }; 966F57A31C226BAA009185B7 /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 966F57A21C226BAA009185B7 /* ViewController.swift */; };
966F57A81C226BAA009185B7 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 966F57A71C226BAA009185B7 /* Assets.xcassets */; }; 966F57A81C226BAA009185B7 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 966F57A71C226BAA009185B7 /* Assets.xcassets */; };
...@@ -22,7 +20,6 @@ ...@@ -22,7 +20,6 @@
dstPath = ""; dstPath = "";
dstSubfolderSpec = 10; dstSubfolderSpec = 10;
files = ( files = (
9626C2F61C7A43CD007CA8E0 /* Material.framework in Embed Frameworks */,
); );
name = "Embed Frameworks"; name = "Embed Frameworks";
runOnlyForDeploymentPostprocessing = 0; runOnlyForDeploymentPostprocessing = 0;
...@@ -30,7 +27,6 @@ ...@@ -30,7 +27,6 @@
/* End PBXCopyFilesBuildPhase section */ /* End PBXCopyFilesBuildPhase section */
/* Begin PBXFileReference section */ /* Begin PBXFileReference section */
9626C2F41C7A43CD007CA8E0 /* Material.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; name = Material.framework; path = "/Users/danieldahan/Library/Developer/Xcode/DerivedData/Material-hbpnflxhoouqxebjcyhbbhqyesjd/Build/Products/Debug-iphoneos/Material.framework"; sourceTree = "<absolute>"; };
966F579D1C226BAA009185B7 /* TextField.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = TextField.app; sourceTree = BUILT_PRODUCTS_DIR; }; 966F579D1C226BAA009185B7 /* TextField.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = TextField.app; sourceTree = BUILT_PRODUCTS_DIR; };
966F57A01C226BAA009185B7 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; }; 966F57A01C226BAA009185B7 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
966F57A21C226BAA009185B7 /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = "<group>"; }; 966F57A21C226BAA009185B7 /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = "<group>"; };
...@@ -44,7 +40,6 @@ ...@@ -44,7 +40,6 @@
isa = PBXFrameworksBuildPhase; isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647; buildActionMask = 2147483647;
files = ( files = (
9626C2F51C7A43CD007CA8E0 /* Material.framework in Frameworks */,
); );
runOnlyForDeploymentPostprocessing = 0; runOnlyForDeploymentPostprocessing = 0;
}; };
...@@ -54,7 +49,6 @@ ...@@ -54,7 +49,6 @@
966F57941C226BAA009185B7 = { 966F57941C226BAA009185B7 = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
9626C2F41C7A43CD007CA8E0 /* Material.framework */,
966F579F1C226BAA009185B7 /* TextField */, 966F579F1C226BAA009185B7 /* TextField */,
966F579E1C226BAA009185B7 /* Products */, 966F579E1C226BAA009185B7 /* Products */,
); );
......
Pod::Spec.new do |s| Pod::Spec.new do |s|
s.name = 'Material' s.name = 'Material'
s.version = '1.33.3' s.version = '1.34.0'
s.license = 'BSD' s.license = 'BSD'
s.summary = 'Express your creativity with Material, an animation and graphics framework for Google\'s Material Design and Apple\'s Flat UI in Swift.' s.summary = 'Express your creativity with Material, an animation and graphics framework for Google\'s Material Design and Apple\'s Flat UI in Swift.'
s.homepage = 'http://cosmicmind.io' s.homepage = 'http://cosmicmind.io'
......
...@@ -55,25 +55,60 @@ Material is a growing project and will encounter changes throughout its developm ...@@ -55,25 +55,60 @@ Material is a growing project and will encounter changes throughout its developm
## A Tour ## A Tour
#### Colors
* [MaterialColor](#materialcolor) * [MaterialColor](#materialcolor)
#### Base Layers & Views
* [MaterialLayer](#materiallayer) * [MaterialLayer](#materiallayer)
* [MaterialView](#materialview) * [MaterialView](#materialview)
* [MaterialPulseView](#materialpulseview) * [MaterialPulseView](#materialpulseview)
#### Text
* [TextField](#textfield) * [TextField](#textfield)
* [TextView](#textview) * [TextView](#textview)
#### Buttons
* [FlatButton](#flatbutton) * [FlatButton](#flatbutton)
* [RaisedButton](#raisedbutton) * [RaisedButton](#raisedbutton)
* [FabButton](#fabbutton) * [FabButton](#fabbutton)
#### Control
* [MaterialSwitch](#materialswitch) (New) * [MaterialSwitch](#materialswitch) (New)
* [Menu](#menu) (New)
#### Layout
* [Grid](#grid) (New) * [Grid](#grid) (New)
* MaterialLayout
#### Collections
* [MaterialTableViewCell](#materialtableviewcell) (New) * [MaterialTableViewCell](#materialtableviewcell) (New)
#### Cards
* [CardView](#cardview) (New)
* [ImageCardView](#imagecardview)
#### Component Control
* [Menu](#menu) (New)
#### Navigation
* [NavigationBarView](#navigationbarview) (New) * [NavigationBarView](#navigationbarview) (New)
* NavigationViewController (New) * [NavigationBarViewController](#navigationbarviewcontroller) (New)
* [SearchBarView](#searchbarview) (New) * [SearchBarView](#searchbarview) (New)
* [SideNavigationViewController](#sidenavigationviewcontroller) * [SideNavigationViewController](#sidenavigationviewcontroller)
* [CardView](#cardview) (New) * [MenuView](#searchbarview) (New)
* [ImageCardView](#imagecardview) * [MenuViewController](#sidenavigationviewcontroller) (New)
#### Photo / Video Camera
* [CaptureView](#captureview) * [CaptureView](#captureview)
## Upcoming ## Upcoming
......
...@@ -15,7 +15,7 @@ ...@@ -15,7 +15,7 @@
<key>CFBundlePackageType</key> <key>CFBundlePackageType</key>
<string>FMWK</string> <string>FMWK</string>
<key>CFBundleShortVersionString</key> <key>CFBundleShortVersionString</key>
<string>1.33.3</string> <string>1.34.0</string>
<key>CFBundleSignature</key> <key>CFBundleSignature</key>
<string>????</string> <string>????</string>
<key>CFBundleVersion</key> <key>CFBundleVersion</key>
......
...@@ -51,18 +51,26 @@ public class MenuView : MaterialPulseView { ...@@ -51,18 +51,26 @@ public class MenuView : MaterialPulseView {
/// Opens the menu with a callback. /// Opens the menu with a callback.
public func open(completion: (() -> Void)? = nil) { public func open(completion: (() -> Void)? = nil) {
menu.open { [weak self] (v: UIView) in if true == menu.views?.first?.userInteractionEnabled {
if self?.menu.views?.last == v { menu.views?.first?.userInteractionEnabled = false
completion?() menu.open { [weak self] (v: UIView) in
if self?.menu.views?.last == v {
self?.menu.views?.first?.userInteractionEnabled = true
completion?()
}
} }
} }
} }
/// Closes the menu with a callback. /// Closes the menu with a callback.
public func close(completion: (() -> Void)? = nil) { public func close(completion: (() -> Void)? = nil) {
menu.close { [weak self] (v: UIView) in if true == menu.views?.first?.userInteractionEnabled {
if self?.menu.views?.last == v { menu.views?.first?.userInteractionEnabled = false
completion?() menu.close { [weak self] (v: UIView) in
if self?.menu.views?.last == v {
self?.menu.views?.first?.userInteractionEnabled = true
completion?()
}
} }
} }
} }
......
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