95 Commits

Author SHA1 Message Date
Ramotion 9efb3a2eb7 Update README.md 2020-04-06 09:57:43 +03:00
igor.k be7f93ce8c add SPM config 2019-11-12 16:10:38 +03:00
Ramotion d073bafd0b Update README.md 2019-10-12 21:10:26 +03:00
Alex K 2c04699846 bump version 2019-04-03 15:52:56 +03:00
Alex K 3ddfc086dd converted to swift 5 version 2019-04-03 15:51:44 +03:00
Ramotion bc2f906d26 Update README.md 2018-12-29 16:37:09 +03:00
Ramotion 6a15deb685 Update README.md 2018-12-29 16:36:46 +03:00
Alex aa0c777a81 Merge pull request #22 from c0mbinatr0nics/master
Replaced rawgit.com urls with combinatronics.com urls.
2018-12-17 14:11:54 +03:00
c0mbinatr0nics 2882c6ed69 Replaced rawgit.com (eol) with combinatronics.com (drop in replacement). 2018-12-15 00:24:26 +01:00
Ramotion 3006780a84 Update README.md 2018-12-10 12:12:47 +03:00
Alex K 49c09f0586 Fixes #21 2018-09-27 09:05:11 +03:00
Alex K 342189b6e0 convert to swift 4.2 2018-09-17 10:20:21 +03:00
Ramotion 5eb66f6fb5 Update README.md 2018-06-29 14:24:19 +03:00
Ramotion 995c5a5513 Update README.md 2018-06-26 11:15:59 +03:00
Ramotion 6904cf96a5 Update README.md 2018-05-29 12:06:55 +03:00
Ramotion 5dc7510804 Update README.md 2018-04-28 12:29:47 +03:00
Ramotion b42aa63728 Add files via upload 2018-04-28 02:28:18 -07:00
Ramotion bf1ee34892 Delete Navigation-Stack.gif 2018-04-28 12:27:36 +03:00
Ramotion 4bab50f2ec Update README.md 2018-04-23 09:32:31 +03:00
Ramotion cdbfa29c11 Update README.md 2018-03-13 10:20:32 +03:00
Alex Mikhnev 563097f845 Update README.md 2018-02-21 14:50:47 +03:00
i.kolpachkov 30defb3edd bump pod version 2018-01-19 02:03:45 +03:00
i.kolpachkov 1fabddd191 update travis config, setup swift version 2018-01-19 01:26:14 +03:00
i.kolpachkov 8d33009aec add demo icon, configure launch storyboard, code cleanup 2018-01-18 20:32:07 +03:00
i.kolpachkov af7ef6e828 update swift format 2018-01-17 11:34:25 +03:00
i.kolpachkov f13ab0900b remove test target 2018-01-15 18:31:19 +03:00
Alex K 2555a951e5 update podspec 2017-11-27 15:35:48 +03:00
Alex K e0042171f0 update podspec and readme 2017-11-27 15:07:23 +03:00
Alex K 0947738ce4 increase deployment target 2017-11-27 15:05:39 +03:00
Alex K f964fda5bc swift 4 2017-11-27 15:03:28 +03:00
Juri Vasylenko a2d2731afa Add files via upload 2017-11-11 18:16:22 +03:00
Alex K 73d13dd401 update readme 2017-10-16 10:17:21 +03:00
Alex K 2f55ecb93f update podspec file 2017-10-16 10:16:03 +03:00
Alex b3cdebb476 Merge pull request #17 from brandonasuncion/master
Fixed UIView takeScreenshot()
2017-10-16 09:58:04 +03:00
Brandon Asuncion af0e1b28aa Fixed UIView takeScreenshot()
drawHierarchy() would not generate a valid screenshot
2017-10-15 00:25:46 -07:00
Travis CI 64235e64c7 reorganize readme 2017-07-27 15:57:28 +03:00
Alex d16021859c Update README.md 2017-06-27 11:53:58 +03:00
Juri Vasylenko f33124d8a4 Update README.md 2017-04-05 19:59:07 +03:00
Alex Mikhnev 292844c894 Update README.md 2017-03-10 20:01:17 +03:00
Juri Vasylenko 386720542c Update README.md 2017-02-17 17:32:48 +03:00
Juri Vasylenko 16842741ca fix image size 2017-02-17 17:31:21 +03:00
Juri Vasylenko f7cd8d4de4 fix image path 2017-02-17 17:30:49 +03:00
Travis CI 9907570ca9 change contact_our_team button 2017-02-17 17:29:58 +03:00
Juri Vasylenko 7c9cb6e6d9 Update README.md 2017-01-20 15:59:59 +03:00
Travis CI 2fc9119c91 appstore button for retina 2017-01-20 15:56:04 +03:00
Travis CI 08eba85cc1 replace appstore button for retina 2017-01-20 15:51:47 +03:00
Travis CI 1812a0306d replace appstore button 2017-01-20 15:37:49 +03:00
Alex 87e71b55df Merge pull request #11 from einsteinx2/master
Fixed visibility of rootViewController initializer
2017-01-11 17:29:30 +03:00
Ben Baron 23980f3f3a Massively improved screenshot quality
- Text no longer looks low resolution
- Animation from image back to actual view is now seemless
2017-01-10 16:13:02 -05:00
aleksei1000000 7cfc4e7152 Update README.md 2017-01-10 17:06:56 +03:00
aleksei1000000 4d6e72b169 Update README.md 2017-01-10 16:56:27 +03:00
aleksei1000000 21ce7b9b65 Update README.md 2017-01-10 16:52:44 +03:00
aleksei1000000 7f697e0a62 Add files via upload 2017-01-10 16:52:08 +03:00
aleksei1000000 1c2c534c8e Add files via upload 2017-01-10 16:45:01 +03:00
aleksei1000000 6535e6fa5d Delete Get_it_on_iTunes_Badge_US_11142.png 2017-01-10 16:44:32 +03:00
aleksei1000000 220d34e35b Update README.md 2017-01-10 16:44:10 +03:00
aleksei1000000 3e97ae9a67 Update README.md 2017-01-10 16:41:00 +03:00
aleksei1000000 d90fb152d5 Add files via upload 2017-01-10 16:40:41 +03:00
aleksei1000000 fd1d25421e Delete Get_it_on_iTunes_Badge_US_1114.png 2017-01-10 16:38:24 +03:00
aleksei1000000 1137ce765f Add files via upload 2017-01-10 16:37:47 +03:00
aleksei1000000 1011112bed Delete Get_it_on_iTunes_Badge_US_1114.png 2017-01-10 16:37:25 +03:00
aleksei1000000 140b25f96d Update README.md 2017-01-10 16:34:42 +03:00
aleksei1000000 b11df07ecd Update README.md 2017-01-10 16:33:33 +03:00
aleksei1000000 6f69df07da Add files via upload 2017-01-10 16:30:13 +03:00
aleksei1000000 5045c0933e Delete Get_it_on_iTunes_Badge_US_1114.svg 2017-01-10 16:29:27 +03:00
aleksei1000000 83afcb3453 Add files via upload 2017-01-10 16:23:25 +03:00
Ben Baron 7b0d539f75 Fixed crash when initializing with init(rootViewController: UIViewController) 2017-01-06 17:57:05 -05:00
Ben Baron 8ef85f4bdf Fixed rootViewController initializer visibility 2017-01-06 17:51:07 -05:00
Alex.k a71dc0e5a4 updated storyboard in demo project 2016-10-17 12:29:02 +03:00
Alex.k da95232357 Merge branch 'master' of https://github.com/Ramotion/navigation-stack 2016-10-17 12:18:32 +03:00
Alex.k 55ac3cb465 updated readme 2016-10-17 12:18:26 +03:00
aleksei1000000 c2720b29bb Update README.md 2016-10-17 09:58:55 +03:00
Juri Vasylenko 3e92810b6b Update .travis.yml 2016-10-14 15:35:57 +04:00
aleksei1000000 549e106237 Update README.md 2016-10-14 14:29:52 +03:00
Alex.k 29919a48c1 updated readme and podspec 2016-09-30 18:02:07 +03:00
Alex.k 85e9ad71e0 Merge branch 'swift3'
# Conflicts:
#	NavigationStackDemo.xcodeproj/project.pbxproj
#	NavigationStackDemo/AppDelegate.swift
#	NavigationStackDemo/ViewControllers/FifthViewController/FifthViewController.swift
#	NavigationStackDemo/ViewControllers/SecondViewController/SecondViewController.swift
#	NavigationStackDemo/ViewControllers/ThirdViewController/ThirdViewController.swift
#	Source/CollectionView/Cell/CollectionViewStackCell.swift
#	Source/CollectionView/CollectionStackViewController.swift
#	Source/CollectionView/FlowLayout/CollectionViewStackFlowLayout.swift
#	Source/NavigationStack.swift
2016-09-30 17:58:48 +03:00
Alex.k fc5f8b6ae7 converted to swift 3 2016-09-30 17:56:08 +03:00
Alex.k 56e0454877 Revert "Update README.md"
This reverts commit 8d0fc29055.
2016-09-30 17:50:21 +03:00
Alex.k 7075eeeee8 Revert "Update README.md"
This reverts commit 3ef077ee03.
2016-09-30 17:40:48 +03:00
Alex feb6f40ed4 Merge pull request #9 from hyb175/migrate-swift-3.0
migrate to swift 3.0
2016-09-30 17:22:09 +03:00
Juri Vasylenko 3ef077ee03 Update README.md 2016-08-05 12:24:50 +04:00
Juri Vasylenko 8d0fc29055 Update README.md 2016-07-29 16:07:41 +04:00
Yingbai He ded79c57f8 migrate to swift 3.0 2016-07-28 16:28:19 -07:00
Juri Vasylenko 0427d14a66 Merge pull request #7 from aleksei1000000/patch-1
Update README.md
2016-07-21 15:41:07 +04:00
aleksei1000000 87acb45b51 Update README.md 2016-07-21 14:32:20 +03:00
aleksei1000000 da5fde65dc Update README.md 2016-07-21 12:15:16 +03:00
Alex ca4a3eec59 Merge pull request #6 from TheDarkCode/patch-1
Update README.md
2016-06-13 13:56:38 +00:00
Mark Hamilton 073b440b2e Update README.md
Typo
2016-06-13 06:53:14 -07:00
Alex.k be5dcf0e71 no message 2016-06-10 12:47:56 +03:00
Alex.k abf47af3a0 update docs 2016-06-10 12:45:56 +03:00
Alex.k e886b7ee9d Merge branch 'master' of https://github.com/Ramotion/navigation-stack 2016-06-10 12:41:18 +03:00
Alex.k 9e5f4c3a9b update readme 2016-06-10 12:41:13 +03:00
Alex 912861c3c2 Update README.md 2016-06-03 17:55:43 +03:00
Alex.k 2ce3c530d0 update readme 2016-06-03 16:47:16 +03:00
Alex.k 7764635275 update podspec 2016-06-03 16:42:14 +03:00
61 changed files with 908 additions and 1009 deletions
+1
View File
@@ -0,0 +1 @@
4.2
+7 -2
View File
@@ -1,6 +1,11 @@
osx_image: xcode7.3
osx_image: xcode9.2
language: objective-c
xcode_project: NavigationStackDemo.xcodeproj
xcode_scheme: NavigationStack
xcode_sdk: iphonesimulator
xcode_sdk: iphonesimulator11.2
# whitelist
branches:
only:
- master
Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.9 MiB

+2 -3
View File
@@ -1,12 +1,11 @@
Pod::Spec.new do |s|
s.name = 'Navigation-stack'
s.version = '0.0.5'
s.version = '3.1.0'
s.summary = 'Show list of navigationControllers'
s.license = 'MIT'
s.homepage = 'https://github.com/Ramotion/navigation-stack'
s.author = { 'Juri Vasylenko' => 'juri.v@ramotion.com' }
s.ios.deployment_target = '9.0'
s.ios.deployment_target = '10.0'
s.source = { :git => 'https://github.com/Ramotion/navigation-stack.git', :tag => s.version.to_s }
s.source_files = 'Source/**/*.swift'
s.requires_arc = true
end
+43 -138
View File
@@ -8,8 +8,6 @@
/* Begin PBXBuildFile section */
840D54101C8705FA00555605 /* FirstTableViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 840D540F1C8705FA00555605 /* FirstTableViewController.swift */; };
842FF8E11C8707BD0030E758 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8444B0EF1C80238500B53B4E /* AppDelegate.swift */; };
842FF8E51C8707DA0030E758 /* FirstTableViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 840D540F1C8705FA00555605 /* FirstTableViewController.swift */; };
84368B3F1CFEDDB1007C4278 /* NavigationStack.h in Headers */ = {isa = PBXBuildFile; fileRef = 84368B3E1CFEDDB1007C4278 /* NavigationStack.h */; settings = {ATTRIBUTES = (Public, ); }; };
84368B431CFEDDB1007C4278 /* NavigationStack.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 84368B3C1CFEDDB1007C4278 /* NavigationStack.framework */; };
84368B441CFEDDB1007C4278 /* NavigationStack.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 84368B3C1CFEDDB1007C4278 /* NavigationStack.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
@@ -21,20 +19,11 @@
8444B0F51C80238500B53B4E /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 8444B0F31C80238500B53B4E /* Main.storyboard */; };
8444B0F71C80238500B53B4E /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 8444B0F61C80238500B53B4E /* Assets.xcassets */; };
8444B0FA1C80238500B53B4E /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 8444B0F81C80238500B53B4E /* LaunchScreen.storyboard */; };
8444B1051C80238500B53B4E /* NavigationStackDemoTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8444B1041C80238500B53B4E /* NavigationStackDemoTests.swift */; };
8444B1271C80250A00B53B4E /* CollectionViewStackCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8444B1201C80250A00B53B4E /* CollectionViewStackCell.swift */; };
8444B1281C80250A00B53B4E /* CollectionViewStackFlowLayout.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8444B1221C80250A00B53B4E /* CollectionViewStackFlowLayout.swift */; };
8444B1291C80250A00B53B4E /* CollectionStackViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8444B1231C80250A00B53B4E /* CollectionStackViewController.swift */; };
8444B12B1C80250A00B53B4E /* NavigationStack.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8444B1261C80250A00B53B4E /* NavigationStack.swift */; };
84500F201C87044100B0550E /* SecondViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 847B0FB01C846C6100E2C54D /* SecondViewController.swift */; };
84500F221C87044500B0550E /* ThirdViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 847B0FAC1C846B9200E2C54D /* ThirdViewController.swift */; };
84500F261C87044B00B0550E /* FifthViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 847B0FA81C846B8100E2C54D /* FifthViewController.swift */; };
84500F281C87045000B0550E /* CollectionViewStackCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8444B1201C80250A00B53B4E /* CollectionViewStackCell.swift */; };
84500F2A1C87045400B0550E /* CollectionViewStackFlowLayout.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8444B1221C80250A00B53B4E /* CollectionViewStackFlowLayout.swift */; };
84500F2C1C87045700B0550E /* CollectionStackViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8444B1231C80250A00B53B4E /* CollectionStackViewController.swift */; };
84500F2E1C87045B00B0550E /* NavigationStack.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8444B1261C80250A00B53B4E /* NavigationStack.swift */; };
846302891C8ABC340015CD81 /* OpenSans-Regular.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 846302881C8ABC340015CD81 /* OpenSans-Regular.ttf */; };
8479994C1C870EB50050D164 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 8444B0F31C80238500B53B4E /* Main.storyboard */; };
847B0FA91C846B8100E2C54D /* FifthViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 847B0FA81C846B8100E2C54D /* FifthViewController.swift */; };
847B0FAD1C846B9200E2C54D /* ThirdViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 847B0FAC1C846B9200E2C54D /* ThirdViewController.swift */; };
847B0FB11C846C6100E2C54D /* SecondViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 847B0FB01C846C6100E2C54D /* SecondViewController.swift */; };
@@ -50,13 +39,6 @@
remoteGlobalIDString = 84368B3B1CFEDDB1007C4278;
remoteInfo = NavigationStack;
};
8444B1011C80238500B53B4E /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 8444B0E41C80238500B53B4E /* Project object */;
proxyType = 1;
remoteGlobalIDString = 8444B0EB1C80238500B53B4E;
remoteInfo = NavigationStackDemo;
};
/* End PBXContainerItemProxy section */
/* Begin PBXCopyFilesBuildPhase section */
@@ -78,15 +60,12 @@
84368B3C1CFEDDB1007C4278 /* NavigationStack.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = NavigationStack.framework; sourceTree = BUILT_PRODUCTS_DIR; };
84368B3E1CFEDDB1007C4278 /* NavigationStack.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = NavigationStack.h; sourceTree = "<group>"; };
84368B401CFEDDB1007C4278 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
8444B0EC1C80238500B53B4E /* NavigationStackDemo.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = NavigationStackDemo.app; sourceTree = BUILT_PRODUCTS_DIR; };
8444B0EC1C80238500B53B4E /* Navigation Stack.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Navigation Stack.app"; sourceTree = BUILT_PRODUCTS_DIR; };
8444B0EF1C80238500B53B4E /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
8444B0F41C80238500B53B4E /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = "<group>"; };
8444B0F61C80238500B53B4E /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
8444B0F91C80238500B53B4E /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; };
8444B0FB1C80238500B53B4E /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
8444B1001C80238500B53B4E /* NavigationStackDemoTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = NavigationStackDemoTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
8444B1041C80238500B53B4E /* NavigationStackDemoTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NavigationStackDemoTests.swift; sourceTree = "<group>"; };
8444B1061C80238500B53B4E /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
8444B1201C80250A00B53B4E /* CollectionViewStackCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CollectionViewStackCell.swift; sourceTree = "<group>"; };
8444B1221C80250A00B53B4E /* CollectionViewStackFlowLayout.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CollectionViewStackFlowLayout.swift; sourceTree = "<group>"; };
8444B1231C80250A00B53B4E /* CollectionStackViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CollectionStackViewController.swift; sourceTree = "<group>"; };
@@ -115,13 +94,6 @@
);
runOnlyForDeploymentPostprocessing = 0;
};
8444B0FD1C80238500B53B4E /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
@@ -138,7 +110,6 @@
isa = PBXGroup;
children = (
8444B0EE1C80238500B53B4E /* NavigationStackDemo */,
8444B1031C80238500B53B4E /* NavigationStackDemoTests */,
84368B3D1CFEDDB1007C4278 /* NavigationStack */,
8444B0ED1C80238500B53B4E /* Products */,
);
@@ -147,8 +118,7 @@
8444B0ED1C80238500B53B4E /* Products */ = {
isa = PBXGroup;
children = (
8444B0EC1C80238500B53B4E /* NavigationStackDemo.app */,
8444B1001C80238500B53B4E /* NavigationStackDemoTests.xctest */,
8444B0EC1C80238500B53B4E /* Navigation Stack.app */,
84368B3C1CFEDDB1007C4278 /* NavigationStack.framework */,
);
name = Products;
@@ -168,15 +138,6 @@
path = NavigationStackDemo;
sourceTree = "<group>";
};
8444B1031C80238500B53B4E /* NavigationStackDemoTests */ = {
isa = PBXGroup;
children = (
8444B1041C80238500B53B4E /* NavigationStackDemoTests.swift */,
8444B1061C80238500B53B4E /* Info.plist */,
);
path = NavigationStackDemoTests;
sourceTree = "<group>";
};
8444B11D1C80247500B53B4E /* Source */ = {
isa = PBXGroup;
children = (
@@ -315,27 +276,9 @@
);
name = NavigationStackDemo;
productName = NavigationStackDemo;
productReference = 8444B0EC1C80238500B53B4E /* NavigationStackDemo.app */;
productReference = 8444B0EC1C80238500B53B4E /* Navigation Stack.app */;
productType = "com.apple.product-type.application";
};
8444B0FF1C80238500B53B4E /* NavigationStackDemoTests */ = {
isa = PBXNativeTarget;
buildConfigurationList = 8444B1171C80238500B53B4E /* Build configuration list for PBXNativeTarget "NavigationStackDemoTests" */;
buildPhases = (
8444B0FC1C80238500B53B4E /* Sources */,
8444B0FD1C80238500B53B4E /* Frameworks */,
8444B0FE1C80238500B53B4E /* Resources */,
);
buildRules = (
);
dependencies = (
8444B1021C80238500B53B4E /* PBXTargetDependency */,
);
name = NavigationStackDemoTests;
productName = NavigationStackDemoTests;
productReference = 8444B1001C80238500B53B4E /* NavigationStackDemoTests.xctest */;
productType = "com.apple.product-type.bundle.unit-test";
};
/* End PBXNativeTarget section */
/* Begin PBXProject section */
@@ -343,26 +286,24 @@
isa = PBXProject;
attributes = {
LastSwiftUpdateCheck = 0720;
LastUpgradeCheck = 0720;
LastUpgradeCheck = 1110;
ORGANIZATIONNAME = "Alex K.";
TargetAttributes = {
84368B3B1CFEDDB1007C4278 = {
CreatedOnToolsVersion = 7.3.1;
DevelopmentTeam = 34MUF9YXTA;
LastSwiftMigration = 1020;
};
8444B0EB1C80238500B53B4E = {
CreatedOnToolsVersion = 7.2.1;
DevelopmentTeam = 34MUF9YXTA;
};
8444B0FF1C80238500B53B4E = {
CreatedOnToolsVersion = 7.2.1;
TestTargetID = 8444B0EB1C80238500B53B4E;
LastSwiftMigration = 1020;
};
};
};
buildConfigurationList = 8444B0E71C80238500B53B4E /* Build configuration list for PBXProject "NavigationStackDemo" */;
compatibilityVersion = "Xcode 6.3";
developmentRegion = English;
developmentRegion = en;
hasScannedForEncodings = 0;
knownRegions = (
en,
@@ -374,7 +315,6 @@
projectRoot = "";
targets = (
8444B0EB1C80238500B53B4E /* NavigationStackDemo */,
8444B0FF1C80238500B53B4E /* NavigationStackDemoTests */,
84368B3B1CFEDDB1007C4278 /* NavigationStack */,
);
};
@@ -401,14 +341,6 @@
);
runOnlyForDeploymentPostprocessing = 0;
};
8444B0FE1C80238500B53B4E /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
8479994C1C870EB50050D164 /* Main.storyboard in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXResourcesBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
@@ -439,23 +371,6 @@
);
runOnlyForDeploymentPostprocessing = 0;
};
8444B0FC1C80238500B53B4E /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
84500F2E1C87045B00B0550E /* NavigationStack.swift in Sources */,
84500F201C87044100B0550E /* SecondViewController.swift in Sources */,
84500F221C87044500B0550E /* ThirdViewController.swift in Sources */,
8444B1051C80238500B53B4E /* NavigationStackDemoTests.swift in Sources */,
84500F2C1C87045700B0550E /* CollectionStackViewController.swift in Sources */,
84500F281C87045000B0550E /* CollectionViewStackCell.swift in Sources */,
842FF8E51C8707DA0030E758 /* FirstTableViewController.swift in Sources */,
84500F2A1C87045400B0550E /* CollectionViewStackFlowLayout.swift in Sources */,
842FF8E11C8707BD0030E758 /* AppDelegate.swift in Sources */,
84500F261C87044B00B0550E /* FifthViewController.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */
/* Begin PBXTargetDependency section */
@@ -464,11 +379,6 @@
target = 84368B3B1CFEDDB1007C4278 /* NavigationStack */;
targetProxy = 84368B411CFEDDB1007C4278 /* PBXContainerItemProxy */;
};
8444B1021C80238500B53B4E /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = 8444B0EB1C80238500B53B4E /* NavigationStackDemo */;
targetProxy = 8444B1011C80238500B53B4E /* PBXContainerItemProxy */;
};
/* End PBXTargetDependency section */
/* Begin PBXVariantGroup section */
@@ -495,7 +405,8 @@
isa = XCBuildConfiguration;
buildSettings = {
CLANG_ANALYZER_NONNULL = YES;
CODE_SIGN_IDENTITY = "iPhone Developer";
CODE_SIGN_IDENTITY = "";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
CURRENT_PROJECT_VERSION = 1;
DEFINES_MODULE = YES;
DYLIB_COMPATIBILITY_VERSION = 1;
@@ -508,6 +419,7 @@
PRODUCT_BUNDLE_IDENTIFIER = com.ramotion.NavigationStack;
PRODUCT_NAME = "$(TARGET_NAME)";
SKIP_INSTALL = YES;
SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2";
VERSIONING_SYSTEM = "apple-generic";
VERSION_INFO_PREFIX = "";
@@ -518,7 +430,8 @@
isa = XCBuildConfiguration;
buildSettings = {
CLANG_ANALYZER_NONNULL = YES;
CODE_SIGN_IDENTITY = "iPhone Developer";
CODE_SIGN_IDENTITY = "";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
CURRENT_PROJECT_VERSION = 1;
DEFINES_MODULE = YES;
DYLIB_COMPATIBILITY_VERSION = 1;
@@ -531,6 +444,7 @@
PRODUCT_BUNDLE_IDENTIFIER = com.ramotion.NavigationStack;
PRODUCT_NAME = "$(TARGET_NAME)";
SKIP_INSTALL = YES;
SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2";
VERSIONING_SYSTEM = "apple-generic";
VERSION_INFO_PREFIX = "";
@@ -545,13 +459,23 @@
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_COMMA = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
@@ -573,7 +497,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 9.3;
IPHONEOS_DEPLOYMENT_TARGET = 12.2;
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = iphoneos;
@@ -589,13 +513,23 @@
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_COMMA = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
@@ -611,9 +545,10 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 9.3;
IPHONEOS_DEPLOYMENT_TARGET = 12.2;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = iphoneos;
SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule";
VALIDATE_PRODUCT = YES;
};
name = Release;
@@ -621,52 +556,30 @@
8444B1151C80238500B53B4E /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CODE_SIGN_IDENTITY = "iPhone Developer";
EMBEDDED_CONTENT_CONTAINS_SWIFT = YES;
INFOPLIST_FILE = NavigationStackDemo/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 9.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
PRODUCT_BUNDLE_IDENTIFIER = com.ramotion.NavigationStackDemo;
PRODUCT_NAME = "$(TARGET_NAME)";
PRODUCT_NAME = "Navigation Stack";
SWIFT_VERSION = 5.0;
};
name = Debug;
};
8444B1161C80238500B53B4E /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CODE_SIGN_IDENTITY = "iPhone Developer";
EMBEDDED_CONTENT_CONTAINS_SWIFT = YES;
INFOPLIST_FILE = NavigationStackDemo/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 9.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
PRODUCT_BUNDLE_IDENTIFIER = com.ramotion.NavigationStackDemo;
PRODUCT_NAME = "$(TARGET_NAME)";
};
name = Release;
};
8444B1181C80238500B53B4E /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
BUNDLE_LOADER = "$(TEST_HOST)";
INFOPLIST_FILE = NavigationStackDemoTests/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
PRODUCT_BUNDLE_IDENTIFIER = com.ramotion.NavigationStackDemoTests;
PRODUCT_NAME = "$(TARGET_NAME)";
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/NavigationStackDemo.app/NavigationStackDemo";
};
name = Debug;
};
8444B1191C80238500B53B4E /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
BUNDLE_LOADER = "$(TEST_HOST)";
INFOPLIST_FILE = NavigationStackDemoTests/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
PRODUCT_BUNDLE_IDENTIFIER = com.ramotion.NavigationStackDemoTests;
PRODUCT_NAME = "$(TARGET_NAME)";
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/NavigationStackDemo.app/NavigationStackDemo";
PRODUCT_NAME = "Navigation Stack";
SWIFT_VERSION = 5.0;
};
name = Release;
};
@@ -680,6 +593,7 @@
84368B461CFEDDB1007C4278 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
8444B0E71C80238500B53B4E /* Build configuration list for PBXProject "NavigationStackDemo" */ = {
isa = XCConfigurationList;
@@ -699,15 +613,6 @@
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
8444B1171C80238500B53B4E /* Build configuration list for PBXNativeTarget "NavigationStackDemoTests" */ = {
isa = XCConfigurationList;
buildConfigurations = (
8444B1181C80238500B53B4E /* Debug */,
8444B1191C80238500B53B4E /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
rootObject = 8444B0E41C80238500B53B4E /* Project object */;
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "0730"
LastUpgradeVersion = "1110"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
@@ -29,8 +29,6 @@
shouldUseLaunchSchemeArgsEnv = "YES">
<Testables>
</Testables>
<AdditionalOptions>
</AdditionalOptions>
</TestAction>
<LaunchAction
buildConfiguration = "Debug"
@@ -51,8 +49,6 @@
ReferencedContainer = "container:NavigationStackDemo.xcodeproj">
</BuildableReference>
</MacroExpansion>
<AdditionalOptions>
</AdditionalOptions>
</LaunchAction>
<ProfileAction
buildConfiguration = "Release"
+10 -36
View File
@@ -27,43 +27,17 @@ import UIKit
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
var window: UIWindow?
var window: UIWindow?
func application(_ : UIApplication, didFinishLaunchingWithOptions _: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
UIApplication.shared.statusBarStyle = .lightContent
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
// Override point for customization after application launch.
UIApplication.sharedApplication().statusBarStyle = .LightContent
UINavigationBar.appearance().titleTextAttributes = [
NSForegroundColorAttributeName : UIColor.whiteColor(),
NSFontAttributeName : UIFont(name: "OpenSans-Semibold", size: 16)!
]
return true
}
func applicationWillResignActive(application: UIApplication) {
// Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state.
// Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game.
}
func applicationDidEnterBackground(application: UIApplication) {
// Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later.
// If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits.
}
func applicationWillEnterForeground(application: UIApplication) {
// Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background.
}
func applicationDidBecomeActive(application: UIApplication) {
// Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface.
}
func applicationWillTerminate(application: UIApplication) {
// Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.
}
UINavigationBar.appearance().titleTextAttributes = [
NSAttributedString.Key.foregroundColor: UIColor.white,
NSAttributedString.Key.font: UIFont(name: "OpenSans-Semibold", size: 16)!,
]
return true
}
}
+86 -5
View File
@@ -1,38 +1,119 @@
{
"images" : [
{
"size" : "20x20",
"idiom" : "iphone",
"filename" : "icon-40.png",
"scale" : "2x"
},
{
"size" : "20x20",
"idiom" : "iphone",
"filename" : "icon-60.png",
"scale" : "3x"
},
{
"size" : "29x29",
"idiom" : "iphone",
"filename" : "icon-58.png",
"scale" : "2x"
},
{
"idiom" : "iphone",
"size" : "29x29",
"idiom" : "iphone",
"filename" : "icon-87.png",
"scale" : "3x"
},
{
"idiom" : "iphone",
"size" : "40x40",
"idiom" : "iphone",
"filename" : "icon-80.png",
"scale" : "2x"
},
{
"idiom" : "iphone",
"size" : "40x40",
"idiom" : "iphone",
"filename" : "icon-120.png",
"scale" : "3x"
},
{
"idiom" : "iphone",
"size" : "60x60",
"idiom" : "iphone",
"filename" : "icon-120.png",
"scale" : "2x"
},
{
"idiom" : "iphone",
"size" : "60x60",
"idiom" : "iphone",
"filename" : "icon-180.png",
"scale" : "3x"
},
{
"size" : "20x20",
"idiom" : "ipad",
"filename" : "icon-20.png",
"scale" : "1x"
},
{
"size" : "20x20",
"idiom" : "ipad",
"filename" : "icon-40.png",
"scale" : "2x"
},
{
"size" : "29x29",
"idiom" : "ipad",
"filename" : "icon-29.png",
"scale" : "1x"
},
{
"size" : "29x29",
"idiom" : "ipad",
"filename" : "icon-58.png",
"scale" : "2x"
},
{
"size" : "40x40",
"idiom" : "ipad",
"filename" : "icon-40.png",
"scale" : "1x"
},
{
"size" : "40x40",
"idiom" : "ipad",
"filename" : "icon-80.png",
"scale" : "2x"
},
{
"size" : "76x76",
"idiom" : "ipad",
"filename" : "icon-76.png",
"scale" : "1x"
},
{
"size" : "76x76",
"idiom" : "ipad",
"filename" : "icon-152.png",
"scale" : "2x"
},
{
"size" : "83.5x83.5",
"idiom" : "ipad",
"filename" : "icon-167.png",
"scale" : "2x"
},
{
"size" : "1024x1024",
"idiom" : "ios-marketing",
"filename" : "Ramotion.png",
"scale" : "1x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
},
"properties" : {
"pre-rendered" : true
}
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 475 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 620 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 792 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

@@ -1,8 +1,13 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="9532" systemVersion="15D21" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" launchScreen="YES" useTraitCollections="YES" initialViewController="01J-lp-oVM">
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="13771" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" launchScreen="YES" useTraitCollections="YES" colorMatched="YES" initialViewController="01J-lp-oVM">
<device id="retina4_7" orientation="portrait">
<adaptation id="fullscreen"/>
</device>
<dependencies>
<deployment identifier="iOS"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="9530"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="13772"/>
<capability name="Constraints to layout margins" minToolsVersion="6.0"/>
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
</dependencies>
<scenes>
<!--View Controller-->
@@ -14,14 +19,35 @@
<viewControllerLayoutGuide type="bottom" id="xb3-aO-Qok"/>
</layoutGuides>
<view key="view" contentMode="scaleToFill" id="Ze5-6b-2t3">
<rect key="frame" x="0.0" y="0.0" width="600" height="600"/>
<rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="calibratedWhite"/>
<subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text=" Copyright (c) 2018 Ramotion. All rights reserved." textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="fcf-sN-ku0">
<rect key="frame" x="16" y="630" width="343" height="17"/>
<fontDescription key="fontDescription" type="system" pointSize="14"/>
<nil key="textColor"/>
<nil key="highlightedColor"/>
</label>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Navigation Stack" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="bCd-3b-lHA">
<rect key="frame" x="118.5" y="323" width="139" height="21"/>
<fontDescription key="fontDescription" type="boldSystem" pointSize="17"/>
<nil key="textColor"/>
<nil key="highlightedColor"/>
</label>
</subviews>
<color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<constraints>
<constraint firstItem="fcf-sN-ku0" firstAttribute="leading" secondItem="Ze5-6b-2t3" secondAttribute="leadingMargin" id="811-hI-Egq"/>
<constraint firstItem="bCd-3b-lHA" firstAttribute="centerY" secondItem="Ze5-6b-2t3" secondAttribute="centerY" id="T4x-O3-JqD"/>
<constraint firstItem="bCd-3b-lHA" firstAttribute="centerX" secondItem="Ze5-6b-2t3" secondAttribute="centerX" id="VFr-tp-sPw"/>
<constraint firstItem="fcf-sN-ku0" firstAttribute="trailing" secondItem="Ze5-6b-2t3" secondAttribute="trailingMargin" id="dS9-pv-ebe"/>
<constraint firstItem="xb3-aO-Qok" firstAttribute="top" secondItem="fcf-sN-ku0" secondAttribute="bottom" constant="20" id="kbD-dX-t3N"/>
</constraints>
</view>
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="iYj-Kq-Ea1" userLabel="First Responder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="53" y="375"/>
<point key="canvasLocation" x="52" y="374.66266866566718"/>
</scene>
</scenes>
</document>
+111 -208
View File
@@ -1,85 +1,54 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="10116" systemVersion="15E65" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" initialViewController="wMY-lE-9QR">
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="11201" systemVersion="15G1004" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES" initialViewController="wMY-lE-9QR">
<dependencies>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="10085"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="11161"/>
<capability name="Constraints to layout margins" minToolsVersion="6.0"/>
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
</dependencies>
<customFonts key="customFonts">
<mutableArray key="OpenSans-Light.ttf">
<array key="OpenSans-Light.ttf">
<string>OpenSans-Light</string>
<string>OpenSans-Light</string>
<string>OpenSans-Light</string>
<string>OpenSans-Light</string>
<string>OpenSans-Light</string>
<string>OpenSans-Light</string>
<string>OpenSans-Light</string>
<string>OpenSans-Light</string>
<string>OpenSans-Light</string>
<string>OpenSans-Light</string>
<string>OpenSans-Light</string>
<string>OpenSans-Light</string>
<string>OpenSans-Light</string>
<string>OpenSans-Light</string>
<string>OpenSans-Light</string>
</mutableArray>
<mutableArray key="OpenSans-Regular.ttf">
</array>
<array key="OpenSans-Regular.ttf">
<string>OpenSans</string>
<string>OpenSans</string>
<string>OpenSans</string>
<string>OpenSans</string>
<string>OpenSans</string>
<string>OpenSans</string>
<string>OpenSans</string>
<string>OpenSans</string>
<string>OpenSans</string>
<string>OpenSans</string>
<string>OpenSans</string>
<string>OpenSans</string>
<string>OpenSans</string>
<string>OpenSans</string>
<string>OpenSans</string>
<string>OpenSans</string>
</mutableArray>
</array>
</customFonts>
<scenes>
<!--First Table View Controller-->
<scene sceneID="zrp-LL-QbY">
<objects>
<tableViewController id="9Ct-AB-DOc" customClass="FirstTableViewController" customModule="NavigationStackDemo" customModuleProvider="target" sceneMemberID="viewController">
<tableView key="view" clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" showsHorizontalScrollIndicator="NO" showsVerticalScrollIndicator="NO" dataMode="static" style="plain" separatorStyle="default" showsSelectionImmediatelyOnTouchBegin="NO" rowHeight="64" sectionHeaderHeight="28" sectionFooterHeight="28" id="Lgh-Yx-2dK">
<rect key="frame" x="0.0" y="0.0" width="600" height="600"/>
<tableView key="view" clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" showsHorizontalScrollIndicator="NO" showsVerticalScrollIndicator="NO" dataMode="static" style="plain" separatorStyle="default" rowHeight="64" sectionHeaderHeight="28" sectionFooterHeight="28" id="Lgh-Yx-2dK">
<rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
<color key="separatorColor" red="0.95686274509803915" green="0.95686274509803915" blue="0.95686274509803915" alpha="1" colorSpace="calibratedRGB"/>
<color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<color key="separatorColor" red="0.95686274509803915" green="0.95686274509803915" blue="0.95686274509803915" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<inset key="separatorInset" minX="0.0" minY="0.0" maxX="0.0" maxY="0.0"/>
<sections>
<tableViewSection id="4mD-ri-97w">
<cells>
<tableViewCell clipsSubviews="YES" contentMode="scaleToFill" selectionStyle="none" indentationWidth="10" reuseIdentifier="TableViewCell" id="59u-SR-oNQ">
<rect key="frame" x="0.0" y="64" width="600" height="64"/>
<rect key="frame" x="0.0" y="64" width="375" height="64"/>
<autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="59u-SR-oNQ" id="hiY-tO-ckv">
<rect key="frame" x="0.0" y="0.0" width="600" height="63"/>
<frame key="frameInset" width="375" height="63"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<imageView userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon-0" translatesAutoresizingMaskIntoConstraints="NO" id="bPQ-Ya-DTi">
<rect key="frame" x="14" y="9" width="45" height="45"/>
<constraints>
<constraint firstAttribute="width" constant="45" id="9K6-ja-zvM"/>
<constraint firstAttribute="height" constant="45" id="EaY-Tn-Pzw"/>
</constraints>
</imageView>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Annie Yates" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="gHN-5I-Euu">
<rect key="frame" x="69" y="21" width="83" height="22"/>
<constraints>
<constraint firstAttribute="width" relation="lessThanOrEqual" constant="525" id="gR3-6f-9H3"/>
</constraints>
<fontDescription key="fontDescription" name="OpenSans-Light" family="Open Sans" pointSize="16"/>
<color key="textColor" red="0.36078431372549019" green="0.41176470588235292" blue="0.52156862745098043" alpha="1" colorSpace="calibratedRGB"/>
<color key="textColor" red="0.36078431372549019" green="0.41176470588235292" blue="0.52156862745098043" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<nil key="highlightedColor"/>
</label>
<imageView userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="Arrow" translatesAutoresizingMaskIntoConstraints="NO" id="KvJ-Hu-ZQk">
<rect key="frame" x="578" y="26" width="7" height="11"/>
<constraints>
<constraint firstAttribute="height" constant="11" id="lXe-WV-qKz"/>
<constraint firstAttribute="width" constant="7" id="m4K-gg-16v"/>
@@ -97,30 +66,27 @@
</tableViewCellContentView>
</tableViewCell>
<tableViewCell clipsSubviews="YES" contentMode="scaleToFill" selectionStyle="none" indentationWidth="10" reuseIdentifier="TableViewCell" id="RFb-Tu-umA">
<rect key="frame" x="0.0" y="128" width="600" height="64"/>
<rect key="frame" x="0.0" y="128" width="375" height="64"/>
<autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="RFb-Tu-umA" id="gLu-T1-5C4">
<rect key="frame" x="0.0" y="0.0" width="600" height="63"/>
<frame key="frameInset" width="375" height="63"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<imageView userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon-1" translatesAutoresizingMaskIntoConstraints="NO" id="Iat-we-zIn">
<rect key="frame" x="14" y="9" width="45" height="45"/>
<constraints>
<constraint firstAttribute="width" constant="45" id="GpC-2U-V4z"/>
<constraint firstAttribute="height" constant="45" id="fCk-mr-GWf"/>
</constraints>
</imageView>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Mabelle Mills" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="ZbE-gE-eBC">
<rect key="frame" x="69" y="21" width="93" height="22"/>
<constraints>
<constraint firstAttribute="width" relation="lessThanOrEqual" constant="525" id="Z8t-77-CEn"/>
</constraints>
<fontDescription key="fontDescription" name="OpenSans-Light" family="Open Sans" pointSize="16"/>
<color key="textColor" red="0.36078431370000003" green="0.41176470590000003" blue="0.52156862749999999" alpha="1" colorSpace="calibratedRGB"/>
<color key="textColor" red="0.36078431370000003" green="0.41176470590000003" blue="0.52156862749999999" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<nil key="highlightedColor"/>
</label>
<imageView userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="Arrow" translatesAutoresizingMaskIntoConstraints="NO" id="miO-D8-3i1">
<rect key="frame" x="578" y="26" width="7" height="11"/>
<constraints>
<constraint firstAttribute="height" constant="11" id="EW5-4E-nW2"/>
<constraint firstAttribute="width" constant="7" id="h7k-SP-Nw8"/>
@@ -138,30 +104,27 @@
</tableViewCellContentView>
</tableViewCell>
<tableViewCell clipsSubviews="YES" contentMode="scaleToFill" selectionStyle="none" indentationWidth="10" reuseIdentifier="TableViewCell" id="NI2-l6-2e8">
<rect key="frame" x="0.0" y="192" width="600" height="64"/>
<rect key="frame" x="0.0" y="192" width="375" height="64"/>
<autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="NI2-l6-2e8" id="HBr-9p-MVd">
<rect key="frame" x="0.0" y="0.0" width="600" height="63"/>
<frame key="frameInset" width="375" height="63"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<imageView userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon-2" translatesAutoresizingMaskIntoConstraints="NO" id="Zph-bv-YK7">
<rect key="frame" x="14" y="9" width="45" height="45"/>
<constraints>
<constraint firstAttribute="height" constant="45" id="7Yu-zn-grO"/>
<constraint firstAttribute="width" constant="45" id="S3D-Hm-cbI"/>
</constraints>
</imageView>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Isaiah Byrd" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="EjK-7R-pCk">
<rect key="frame" x="69" y="21" width="79" height="22"/>
<constraints>
<constraint firstAttribute="width" relation="lessThanOrEqual" constant="525" id="Xri-iA-1Yd"/>
</constraints>
<fontDescription key="fontDescription" name="OpenSans-Light" family="Open Sans" pointSize="16"/>
<color key="textColor" red="0.36078431370000003" green="0.41176470590000003" blue="0.52156862749999999" alpha="1" colorSpace="calibratedRGB"/>
<color key="textColor" red="0.36078431370000003" green="0.41176470590000003" blue="0.52156862749999999" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<nil key="highlightedColor"/>
</label>
<imageView userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="Arrow" translatesAutoresizingMaskIntoConstraints="NO" id="mtz-F1-UgJ">
<rect key="frame" x="578" y="26" width="7" height="11"/>
<constraints>
<constraint firstAttribute="width" constant="7" id="i37-dp-Hv1"/>
<constraint firstAttribute="height" constant="11" id="vow-yN-nMr"/>
@@ -179,30 +142,27 @@
</tableViewCellContentView>
</tableViewCell>
<tableViewCell clipsSubviews="YES" contentMode="scaleToFill" selectionStyle="none" indentationWidth="10" reuseIdentifier="TableViewCell" id="QB7-YF-opV">
<rect key="frame" x="0.0" y="256" width="600" height="64"/>
<rect key="frame" x="0.0" y="256" width="375" height="64"/>
<autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="QB7-YF-opV" id="bFZ-pp-GDK">
<rect key="frame" x="0.0" y="0.0" width="600" height="63"/>
<frame key="frameInset" width="375" height="63"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<imageView userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon-3" translatesAutoresizingMaskIntoConstraints="NO" id="OW6-Z2-YBS">
<rect key="frame" x="14" y="9" width="45" height="45"/>
<constraints>
<constraint firstAttribute="height" constant="45" id="fbv-hh-MQf"/>
<constraint firstAttribute="width" constant="45" id="qI1-gn-CVu"/>
</constraints>
</imageView>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Ramotion" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="1op-NG-ytg">
<rect key="frame" x="69" y="21" width="70" height="22"/>
<constraints>
<constraint firstAttribute="width" relation="lessThanOrEqual" constant="525" id="qOa-f6-KeW"/>
</constraints>
<fontDescription key="fontDescription" name="OpenSans-Light" family="Open Sans" pointSize="16"/>
<color key="textColor" red="0.36078431370000003" green="0.41176470590000003" blue="0.52156862749999999" alpha="1" colorSpace="calibratedRGB"/>
<color key="textColor" red="0.36078431370000003" green="0.41176470590000003" blue="0.52156862749999999" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<nil key="highlightedColor"/>
</label>
<imageView userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="Arrow" translatesAutoresizingMaskIntoConstraints="NO" id="e1g-uL-tfy">
<rect key="frame" x="578" y="26" width="7" height="11"/>
<constraints>
<constraint firstAttribute="width" constant="7" id="08A-Oc-K7i"/>
<constraint firstAttribute="height" constant="11" id="5vS-tQ-rj3"/>
@@ -220,30 +180,27 @@
</tableViewCellContentView>
</tableViewCell>
<tableViewCell clipsSubviews="YES" contentMode="scaleToFill" selectionStyle="none" indentationWidth="10" reuseIdentifier="TableViewCell" id="PPj-u3-njz">
<rect key="frame" x="0.0" y="320" width="600" height="64"/>
<rect key="frame" x="0.0" y="320" width="375" height="64"/>
<autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="PPj-u3-njz" id="a9E-vV-VyR">
<rect key="frame" x="0.0" y="0.0" width="600" height="63"/>
<frame key="frameInset" width="375" height="63"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<imageView userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon-4" translatesAutoresizingMaskIntoConstraints="NO" id="bNP-Bo-o6w">
<rect key="frame" x="14" y="9" width="45" height="45"/>
<constraints>
<constraint firstAttribute="height" constant="45" id="98p-h7-K8f"/>
<constraint firstAttribute="width" constant="45" id="tkV-r5-Yh8"/>
</constraints>
</imageView>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Carrie Hudson" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="j7Y-Qj-aA5">
<rect key="frame" x="69" y="21" width="105" height="22"/>
<constraints>
<constraint firstAttribute="width" relation="lessThanOrEqual" constant="525" id="2ca-CH-qbC"/>
</constraints>
<fontDescription key="fontDescription" name="OpenSans-Light" family="Open Sans" pointSize="16"/>
<color key="textColor" red="0.36078431370000003" green="0.41176470590000003" blue="0.52156862749999999" alpha="1" colorSpace="calibratedRGB"/>
<color key="textColor" red="0.36078431370000003" green="0.41176470590000003" blue="0.52156862749999999" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<nil key="highlightedColor"/>
</label>
<imageView userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="Arrow" translatesAutoresizingMaskIntoConstraints="NO" id="avO-ce-d6m">
<rect key="frame" x="578" y="26" width="7" height="11"/>
<constraints>
<constraint firstAttribute="height" constant="11" id="5Xi-Kv-5H6"/>
<constraint firstAttribute="width" constant="7" id="g3G-6n-xbl"/>
@@ -282,54 +239,51 @@
<textInputTraits key="textInputTraits"/>
</searchBar>
</objects>
<point key="canvasLocation" x="1232" y="1139"/>
<point key="canvasLocation" x="1014" y="1137"/>
</scene>
<!--Sally Friends-->
<scene sceneID="C7N-bv-xZB">
<objects>
<tableViewController id="Y7k-xx-h5q" customClass="FifthViewController" customModule="NavigationStackDemo" customModuleProvider="target" sceneMemberID="viewController">
<tableView key="view" clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" showsHorizontalScrollIndicator="NO" showsVerticalScrollIndicator="NO" dataMode="static" style="plain" separatorStyle="default" showsSelectionImmediatelyOnTouchBegin="NO" rowHeight="64" sectionHeaderHeight="28" sectionFooterHeight="28" id="rQI-9Z-buC">
<rect key="frame" x="0.0" y="0.0" width="600" height="651"/>
<tableView key="view" clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" showsHorizontalScrollIndicator="NO" showsVerticalScrollIndicator="NO" dataMode="static" style="plain" separatorStyle="default" rowHeight="64" sectionHeaderHeight="28" sectionFooterHeight="28" id="rQI-9Z-buC">
<rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
<color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<gestureRecognizers/>
<color key="separatorColor" red="0.95686274510000002" green="0.95686274510000002" blue="0.95686274510000002" alpha="1" colorSpace="calibratedRGB"/>
<color key="separatorColor" red="0.95686274510000002" green="0.95686274510000002" blue="0.95686274510000002" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<inset key="separatorInset" minX="0.0" minY="0.0" maxX="0.0" maxY="0.0"/>
<sections>
<tableViewSection id="U4h-gN-n02">
<cells>
<tableViewCell clipsSubviews="YES" contentMode="scaleToFill" selectionStyle="none" indentationWidth="10" reuseIdentifier="TableViewCell" id="Fm4-oL-SWk">
<rect key="frame" x="0.0" y="64" width="600" height="64"/>
<rect key="frame" x="0.0" y="64" width="375" height="64"/>
<autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="Fm4-oL-SWk" id="UJs-lN-KSp">
<rect key="frame" x="0.0" y="0.0" width="600" height="63"/>
<frame key="frameInset" width="375" height="63"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<imageView userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="Fifth-Icon-0" translatesAutoresizingMaskIntoConstraints="NO" id="ORf-X7-gzN">
<rect key="frame" x="14" y="9" width="45" height="45"/>
<constraints>
<constraint firstAttribute="height" constant="45" id="9iZ-bw-EeU"/>
<constraint firstAttribute="width" constant="45" id="NBI-cD-Ru0"/>
</constraints>
</imageView>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Millie Burton" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="2Cx-bX-nb2">
<rect key="frame" x="69" y="21" width="92" height="22"/>
<constraints>
<constraint firstAttribute="width" relation="lessThanOrEqual" constant="525" id="lL0-gA-TC4"/>
</constraints>
<fontDescription key="fontDescription" name="OpenSans-Light" family="Open Sans" pointSize="16"/>
<color key="textColor" red="0.36078431370000003" green="0.41176470590000003" blue="0.52156862749999999" alpha="1" colorSpace="calibratedRGB"/>
<color key="textColor" red="0.36078431370000003" green="0.41176470590000003" blue="0.52156862749999999" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<nil key="highlightedColor"/>
</label>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="cq9-qg-Grq">
<rect key="frame" x="513" y="15" width="72" height="34"/>
<constraints>
<constraint firstAttribute="width" constant="72" id="2Ia-4A-Nd5"/>
<constraint firstAttribute="height" constant="34" id="CAm-wn-7hC"/>
</constraints>
<fontDescription key="fontDescription" name="OpenSans" family="Open Sans" pointSize="14"/>
<state key="normal" title="Invite" backgroundImage="ButtonBorder">
<color key="titleColor" red="0.36078431372549019" green="0.41176470588235292" blue="0.52156862745098043" alpha="1" colorSpace="calibratedRGB"/>
<color key="titleColor" red="0.36078431372549019" green="0.41176470588235292" blue="0.52156862745098043" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
</state>
</button>
</subviews>
@@ -344,37 +298,34 @@
</tableViewCellContentView>
</tableViewCell>
<tableViewCell clipsSubviews="YES" contentMode="scaleToFill" selectionStyle="none" indentationWidth="10" reuseIdentifier="TableViewCell" id="Dub-7K-o5o">
<rect key="frame" x="0.0" y="128" width="600" height="64"/>
<rect key="frame" x="0.0" y="128" width="375" height="64"/>
<autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="Dub-7K-o5o" id="56f-3M-2qf">
<rect key="frame" x="0.0" y="0.0" width="600" height="63"/>
<frame key="frameInset" width="375" height="63"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<imageView userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="Fifth-Icon-1" translatesAutoresizingMaskIntoConstraints="NO" id="eJm-tM-0xh">
<rect key="frame" x="14" y="9" width="45" height="45"/>
<constraints>
<constraint firstAttribute="width" constant="45" id="Mer-9g-gAn"/>
<constraint firstAttribute="height" constant="45" id="WJr-4v-Vr2"/>
</constraints>
</imageView>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Isaiah Byrd" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Ujo-Pe-HGu">
<rect key="frame" x="69" y="21" width="79" height="22"/>
<constraints>
<constraint firstAttribute="width" relation="lessThanOrEqual" constant="525" id="nCg-6A-MYS"/>
</constraints>
<fontDescription key="fontDescription" name="OpenSans-Light" family="Open Sans" pointSize="16"/>
<color key="textColor" red="0.36078431370000003" green="0.41176470590000003" blue="0.52156862749999999" alpha="1" colorSpace="calibratedRGB"/>
<color key="textColor" red="0.36078431370000003" green="0.41176470590000003" blue="0.52156862749999999" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<nil key="highlightedColor"/>
</label>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="vZa-nK-CCF">
<rect key="frame" x="513" y="15" width="72" height="34"/>
<constraints>
<constraint firstAttribute="height" constant="34" id="sh8-i0-16p"/>
<constraint firstAttribute="width" constant="72" id="weN-aO-GhB"/>
</constraints>
<fontDescription key="fontDescription" name="OpenSans" family="Open Sans" pointSize="14"/>
<state key="normal" title="Invite" backgroundImage="ButtonBorder">
<color key="titleColor" red="0.36078431370000003" green="0.41176470590000003" blue="0.52156862749999999" alpha="1" colorSpace="calibratedRGB"/>
<color key="titleColor" red="0.36078431370000003" green="0.41176470590000003" blue="0.52156862749999999" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
</state>
</button>
</subviews>
@@ -389,37 +340,34 @@
</tableViewCellContentView>
</tableViewCell>
<tableViewCell clipsSubviews="YES" contentMode="scaleToFill" selectionStyle="none" indentationWidth="10" reuseIdentifier="TableViewCell" id="8PZ-4X-bFa">
<rect key="frame" x="0.0" y="192" width="600" height="64"/>
<rect key="frame" x="0.0" y="192" width="375" height="64"/>
<autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="8PZ-4X-bFa" id="upV-M3-tcx">
<rect key="frame" x="0.0" y="0.0" width="600" height="63"/>
<frame key="frameInset" width="375" height="63"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<imageView userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="Fifth-Icon-2" translatesAutoresizingMaskIntoConstraints="NO" id="mpo-Gf-2rW">
<rect key="frame" x="14" y="9" width="45" height="45"/>
<constraints>
<constraint firstAttribute="width" constant="45" id="CZs-XA-1La"/>
<constraint firstAttribute="height" constant="45" id="fwV-mJ-dwf"/>
</constraints>
</imageView>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Raymond Tucker" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="mYj-le-ZE9">
<rect key="frame" x="69" y="21" width="119" height="22"/>
<constraints>
<constraint firstAttribute="width" relation="lessThanOrEqual" constant="525" id="JCI-VY-PKr"/>
</constraints>
<fontDescription key="fontDescription" name="OpenSans-Light" family="Open Sans" pointSize="16"/>
<color key="textColor" red="0.36078431370000003" green="0.41176470590000003" blue="0.52156862749999999" alpha="1" colorSpace="calibratedRGB"/>
<color key="textColor" red="0.36078431370000003" green="0.41176470590000003" blue="0.52156862749999999" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<nil key="highlightedColor"/>
</label>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="6Un-Wk-B9e">
<rect key="frame" x="513" y="15" width="72" height="34"/>
<constraints>
<constraint firstAttribute="width" constant="72" id="4F9-TW-ebh"/>
<constraint firstAttribute="height" constant="34" id="htO-xj-2v8"/>
</constraints>
<fontDescription key="fontDescription" name="OpenSans" family="Open Sans" pointSize="14"/>
<state key="normal" title="Invite" backgroundImage="ButtonBorder">
<color key="titleColor" red="0.36078431370000003" green="0.41176470590000003" blue="0.52156862749999999" alpha="1" colorSpace="calibratedRGB"/>
<color key="titleColor" red="0.36078431370000003" green="0.41176470590000003" blue="0.52156862749999999" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
</state>
</button>
</subviews>
@@ -434,37 +382,34 @@
</tableViewCellContentView>
</tableViewCell>
<tableViewCell clipsSubviews="YES" contentMode="scaleToFill" selectionStyle="none" indentationWidth="10" reuseIdentifier="TableViewCell" id="b45-nI-yBc">
<rect key="frame" x="0.0" y="256" width="600" height="64"/>
<rect key="frame" x="0.0" y="256" width="375" height="64"/>
<autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="b45-nI-yBc" id="8Bg-uW-EBP">
<rect key="frame" x="0.0" y="0.0" width="600" height="63"/>
<frame key="frameInset" width="375" height="63"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<imageView userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="Fifth-Icon-3" translatesAutoresizingMaskIntoConstraints="NO" id="maf-Qg-fhA">
<rect key="frame" x="14" y="9" width="45" height="45"/>
<constraints>
<constraint firstAttribute="height" constant="45" id="8ee-dD-Jgr"/>
<constraint firstAttribute="width" constant="45" id="x7K-rf-jlr"/>
</constraints>
</imageView>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Ian Haynes" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="HdW-L1-UK2">
<rect key="frame" x="69" y="21" width="80" height="22"/>
<constraints>
<constraint firstAttribute="width" relation="lessThanOrEqual" constant="525" id="LQZ-JM-zAA"/>
</constraints>
<fontDescription key="fontDescription" name="OpenSans-Light" family="Open Sans" pointSize="16"/>
<color key="textColor" red="0.36078431370000003" green="0.41176470590000003" blue="0.52156862749999999" alpha="1" colorSpace="calibratedRGB"/>
<color key="textColor" red="0.36078431370000003" green="0.41176470590000003" blue="0.52156862749999999" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<nil key="highlightedColor"/>
</label>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="x31-0N-Wk4">
<rect key="frame" x="513" y="15" width="72" height="34"/>
<constraints>
<constraint firstAttribute="height" constant="34" id="2Ga-wi-s3I"/>
<constraint firstAttribute="width" constant="72" id="qW1-34-N9V"/>
</constraints>
<fontDescription key="fontDescription" name="OpenSans" family="Open Sans" pointSize="14"/>
<state key="normal" title="Invite" backgroundImage="ButtonBorder">
<color key="titleColor" red="0.36078431370000003" green="0.41176470590000003" blue="0.52156862749999999" alpha="1" colorSpace="calibratedRGB"/>
<color key="titleColor" red="0.36078431370000003" green="0.41176470590000003" blue="0.52156862749999999" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
</state>
</button>
</subviews>
@@ -489,7 +434,7 @@
<toolbarItems/>
<navigationItem key="navigationItem" title="Sally Friends" id="zMg-jd-dHX">
<barButtonItem key="leftBarButtonItem" image="backButton" id="4Af-Xf-z75">
<color key="tintColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
<color key="tintColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<connections>
<action selector="backHandler:" destination="Y7k-xx-h5q" id="smv-wd-MTx"/>
</connections>
@@ -498,78 +443,69 @@
</tableViewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="R6v-A6-DcN" userLabel="First Responder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="3985" y="1164.5"/>
<point key="canvasLocation" x="4079" y="1137"/>
</scene>
<!--Ramotion-->
<scene sceneID="fes-48-lfd">
<objects>
<tableViewController automaticallyAdjustsScrollViewInsets="NO" id="iaH-ZQ-ay5" customClass="SecondViewController" customModule="NavigationStackDemo" customModuleProvider="target" sceneMemberID="viewController">
<tableView key="view" clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" showsHorizontalScrollIndicator="NO" showsVerticalScrollIndicator="NO" dataMode="static" style="plain" separatorStyle="default" showsSelectionImmediatelyOnTouchBegin="NO" rowHeight="64" sectionHeaderHeight="28" sectionFooterHeight="28" id="l7k-CH-0RZ">
<rect key="frame" x="0.0" y="0.0" width="600" height="600"/>
<tableView key="view" clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" showsHorizontalScrollIndicator="NO" showsVerticalScrollIndicator="NO" dataMode="static" style="plain" separatorStyle="default" rowHeight="64" sectionHeaderHeight="28" sectionFooterHeight="28" id="l7k-CH-0RZ">
<rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
<color key="separatorColor" red="0.95686274510000002" green="0.95686274510000002" blue="0.95686274510000002" alpha="1" colorSpace="calibratedRGB"/>
<color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<color key="separatorColor" red="0.95686274510000002" green="0.95686274510000002" blue="0.95686274510000002" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<inset key="separatorInset" minX="0.0" minY="0.0" maxX="0.0" maxY="0.0"/>
<sections>
<tableViewSection id="G4S-Ar-7kx">
<cells>
<tableViewCell clipsSubviews="YES" contentMode="scaleToFill" selectionStyle="none" indentationWidth="10" reuseIdentifier="TableViewCell" rowHeight="406" id="vIk-Xx-2cC">
<rect key="frame" x="0.0" y="0.0" width="600" height="406"/>
<rect key="frame" x="0.0" y="0.0" width="375" height="406"/>
<autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="vIk-Xx-2cC" id="HSV-R2-Hw7">
<rect key="frame" x="0.0" y="0.0" width="600" height="405"/>
<frame key="frameInset" width="375" height="405"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="BridgeImage" translatesAutoresizingMaskIntoConstraints="NO" id="wyr-9m-ibm">
<rect key="frame" x="0.0" y="0.0" width="600" height="405"/>
</imageView>
<imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="BridgeImage" translatesAutoresizingMaskIntoConstraints="NO" id="wyr-9m-ibm"/>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="8gC-RP-EBQ" userLabel="ContainerView">
<rect key="frame" x="200" y="89" width="200" height="280"/>
<subviews>
<imageView userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="RamotionBig" translatesAutoresizingMaskIntoConstraints="NO" id="a3b-No-X0O">
<rect key="frame" x="28" y="0.0" width="145" height="145"/>
<constraints>
<constraint firstAttribute="width" constant="145" id="7fr-hK-bHl"/>
<constraint firstAttribute="height" constant="145" id="dcc-xd-LKe"/>
</constraints>
</imageView>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Ramotion" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Z9O-r8-63x">
<rect key="frame" x="59" y="157" width="82" height="25"/>
<fontDescription key="fontDescription" name="OpenSans" family="Open Sans" pointSize="18"/>
<color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
<color key="textColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<nil key="highlightedColor"/>
</label>
<imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="PinIcon" translatesAutoresizingMaskIntoConstraints="NO" id="iBz-MQ-eUa">
<rect key="frame" x="80" y="240" width="40" height="40"/>
<constraints>
<constraint firstAttribute="height" constant="40" id="GRI-8s-EA6"/>
<constraint firstAttribute="width" constant="40" id="k8e-Ux-i3y"/>
</constraints>
</imageView>
<imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="PersonIcon" translatesAutoresizingMaskIntoConstraints="NO" id="AWH-ql-SQz">
<rect key="frame" x="4" y="240" width="40" height="40"/>
<constraints>
<constraint firstAttribute="width" constant="40" id="a43-vc-Erz"/>
<constraint firstAttribute="height" constant="40" id="fCI-aa-kiJ"/>
</constraints>
</imageView>
<imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="PinIcon" translatesAutoresizingMaskIntoConstraints="NO" id="ist-ma-HD4">
<rect key="frame" x="156" y="240" width="40" height="40"/>
<constraints>
<constraint firstAttribute="width" constant="40" id="Psv-Rm-NVJ"/>
<constraint firstAttribute="height" constant="40" id="mru-we-yaw"/>
</constraints>
</imageView>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="QZj-NI-Jg7">
<rect key="frame" x="56" y="185" width="89" height="39"/>
<string key="text">San Francisco
USA</string>
<fontDescription key="fontDescription" name="OpenSans" family="Open Sans" pointSize="14"/>
<color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
<color key="textColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<nil key="highlightedColor"/>
</label>
</subviews>
<color key="backgroundColor" red="0.23941160257975691" green="0.89475203036425932" blue="1" alpha="0.0" colorSpace="calibratedRGB"/>
<color key="backgroundColor" red="0.23941160257975691" green="0.89475203036425932" blue="1" alpha="0.0" colorSpace="custom" customColorSpace="sRGB"/>
<constraints>
<constraint firstItem="QZj-NI-Jg7" firstAttribute="centerX" secondItem="8gC-RP-EBQ" secondAttribute="centerX" id="3bJ-nE-wvx"/>
<constraint firstItem="iBz-MQ-eUa" firstAttribute="leading" secondItem="AWH-ql-SQz" secondAttribute="trailing" constant="36" id="6gJ-qd-IRu"/>
@@ -599,30 +535,27 @@ USA</string>
</tableViewCellContentView>
</tableViewCell>
<tableViewCell clipsSubviews="YES" contentMode="scaleToFill" selectionStyle="none" indentationWidth="10" reuseIdentifier="TableViewCell" rowHeight="155" id="mpc-fs-zs1">
<rect key="frame" x="0.0" y="406" width="600" height="155"/>
<rect key="frame" x="0.0" y="406" width="375" height="155"/>
<autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="mpc-fs-zs1" id="GOo-LD-cA4">
<rect key="frame" x="0.0" y="0.0" width="600" height="154"/>
<frame key="frameInset" width="375" height="154"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<imageView userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="HeadnImage" translatesAutoresizingMaskIntoConstraints="NO" id="rhG-XC-8so">
<rect key="frame" x="20" y="15" width="57" height="57"/>
<constraints>
<constraint firstAttribute="height" constant="57" id="IBd-Iz-JwF"/>
<constraint firstAttribute="width" constant="57" id="lgm-ne-Yot"/>
</constraints>
</imageView>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Enhance Your Life By Having A Sense Of Purpose" textAlignment="natural" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="gyf-EF-9zK">
<rect key="frame" x="87" y="15" width="505" height="57"/>
<fontDescription key="fontDescription" name="OpenSans" family="Open Sans" pointSize="16"/>
<color key="textColor" red="0.36078431372549019" green="0.41176470588235292" blue="0.52156862745098043" alpha="1" colorSpace="calibratedRGB"/>
<color key="textColor" red="0.36078431372549019" green="0.41176470588235292" blue="0.52156862745098043" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<nil key="highlightedColor"/>
</label>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" textAlignment="justified" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="E8g-LD-agg">
<rect key="frame" x="20" y="73" width="560" height="81"/>
<string key="text">At about this time of year, some months after New Years resolutions have been made and kept, or made and neglected, one thing is undeniable: we</string>
<fontDescription key="fontDescription" name="OpenSans-Light" family="Open Sans" pointSize="14"/>
<color key="textColor" red="0.36078431370000003" green="0.41176470590000003" blue="0.52156862749999999" alpha="1" colorSpace="calibratedRGB"/>
<color key="textColor" red="0.36078431370000003" green="0.41176470590000003" blue="0.52156862749999999" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<nil key="highlightedColor"/>
</label>
</subviews>
@@ -641,30 +574,27 @@ USA</string>
</tableViewCellContentView>
</tableViewCell>
<tableViewCell clipsSubviews="YES" contentMode="scaleToFill" selectionStyle="none" indentationWidth="10" reuseIdentifier="TableViewCell" rowHeight="155" id="NtI-T3-9m3">
<rect key="frame" x="0.0" y="561" width="600" height="155"/>
<rect key="frame" x="0.0" y="561" width="375" height="155"/>
<autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="NtI-T3-9m3" id="g6I-4w-9aJ">
<rect key="frame" x="0.0" y="0.0" width="600" height="154"/>
<frame key="frameInset" width="375" height="154"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<imageView userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="PCImage" translatesAutoresizingMaskIntoConstraints="NO" id="vy3-Pw-Sm1">
<rect key="frame" x="20" y="15" width="57" height="57"/>
<constraints>
<constraint firstAttribute="width" constant="57" id="7i2-Wu-xVf"/>
<constraint firstAttribute="height" constant="57" id="tn2-OI-N0Y"/>
</constraints>
</imageView>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Control Your Own Level Of Motivation" textAlignment="natural" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="5BI-98-AtN">
<rect key="frame" x="87" y="15" width="505" height="57"/>
<fontDescription key="fontDescription" name="OpenSans" family="Open Sans" pointSize="16"/>
<color key="textColor" red="0.36078431370000003" green="0.41176470590000003" blue="0.52156862749999999" alpha="1" colorSpace="calibratedRGB"/>
<color key="textColor" red="0.36078431370000003" green="0.41176470590000003" blue="0.52156862749999999" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<nil key="highlightedColor"/>
</label>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" textAlignment="justified" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="eB7-Zg-qYc">
<rect key="frame" x="20" y="73" width="560" height="81"/>
<string key="text">At about this time of year, some months after New Years resolutions have been made and kept, or made and neglected, one thing is undeniable: we</string>
<fontDescription key="fontDescription" name="OpenSans-Light" family="Open Sans" pointSize="14"/>
<color key="textColor" red="0.36078431370000003" green="0.41176470590000003" blue="0.52156862749999999" alpha="1" colorSpace="calibratedRGB"/>
<color key="textColor" red="0.36078431370000003" green="0.41176470590000003" blue="0.52156862749999999" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<nil key="highlightedColor"/>
</label>
</subviews>
@@ -683,30 +613,27 @@ USA</string>
</tableViewCellContentView>
</tableViewCell>
<tableViewCell clipsSubviews="YES" contentMode="scaleToFill" selectionStyle="none" indentationWidth="10" reuseIdentifier="TableViewCell" rowHeight="155" id="x6S-m0-obK">
<rect key="frame" x="0.0" y="716" width="600" height="155"/>
<rect key="frame" x="0.0" y="716" width="375" height="155"/>
<autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="x6S-m0-obK" id="ga4-9k-oyq">
<rect key="frame" x="0.0" y="0.0" width="600" height="154"/>
<frame key="frameInset" width="375" height="154"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<imageView userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="HeadnImage" translatesAutoresizingMaskIntoConstraints="NO" id="iMx-CI-izM">
<rect key="frame" x="20" y="15" width="57" height="57"/>
<constraints>
<constraint firstAttribute="height" constant="57" id="1Cs-CD-stY"/>
<constraint firstAttribute="width" constant="57" id="4ff-pw-A3k"/>
</constraints>
</imageView>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Enhance Your Life By Having A Sense Of Purpose" textAlignment="natural" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="zOb-9O-2eq">
<rect key="frame" x="87" y="15" width="505" height="57"/>
<fontDescription key="fontDescription" name="OpenSans" family="Open Sans" pointSize="16"/>
<color key="textColor" red="0.36078431370000003" green="0.41176470590000003" blue="0.52156862749999999" alpha="1" colorSpace="calibratedRGB"/>
<color key="textColor" red="0.36078431370000003" green="0.41176470590000003" blue="0.52156862749999999" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<nil key="highlightedColor"/>
</label>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" textAlignment="justified" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="47b-fv-wTs">
<rect key="frame" x="20" y="73" width="560" height="81"/>
<string key="text">At about this time of year, some months after New Years resolutions have been made and kept, or made and neglected, one thing is undeniable: we</string>
<fontDescription key="fontDescription" name="OpenSans-Light" family="Open Sans" pointSize="14"/>
<color key="textColor" red="0.36078431370000003" green="0.41176470590000003" blue="0.52156862749999999" alpha="1" colorSpace="calibratedRGB"/>
<color key="textColor" red="0.36078431370000003" green="0.41176470590000003" blue="0.52156862749999999" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<nil key="highlightedColor"/>
</label>
</subviews>
@@ -734,7 +661,7 @@ USA</string>
</tableView>
<navigationItem key="navigationItem" title="Ramotion" id="Ufe-Ky-cPA">
<barButtonItem key="leftBarButtonItem" image="backButton" id="3or-01-oV6">
<color key="tintColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
<color key="tintColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<connections>
<action selector="backHandler:" destination="iaH-ZQ-ay5" id="DZv-HC-MAX"/>
</connections>
@@ -746,7 +673,7 @@ USA</string>
</tableViewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="RMN-Cf-ufd" userLabel="First Responder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="1936" y="1139"/>
<point key="canvasLocation" x="1710" y="1137"/>
</scene>
<!--Navigation Stack-->
<scene sceneID="K61-fl-adJ">
@@ -763,7 +690,7 @@ USA</string>
<nil name="viewControllers"/>
<userDefinedRuntimeAttributes>
<userDefinedRuntimeAttribute type="color" keyPath="bgColor">
<color key="value" red="0.77254901960784317" green="0.80000000000000004" blue="0.85098039215686272" alpha="1" colorSpace="calibratedRGB"/>
<color key="value" red="0.77254901960784317" green="0.80000000000000004" blue="0.85098039215686272" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
</userDefinedRuntimeAttribute>
<userDefinedRuntimeAttribute type="number" keyPath="decelerationRate">
<real key="value" value="0.80000000000000004"/>
@@ -775,50 +702,47 @@ USA</string>
</navigationController>
<placeholder placeholderIdentifier="IBFirstResponder" id="H6O-0Z-S0q" userLabel="First Responder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="535" y="1139"/>
<point key="canvasLocation" x="236" y="1138"/>
</scene>
<!--Post-->
<scene sceneID="MGp-L7-zcj">
<objects>
<tableViewController id="nzl-xt-jfq" customClass="ThirdViewController" customModule="NavigationStackDemo" customModuleProvider="target" sceneMemberID="viewController">
<tableView key="view" clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" showsHorizontalScrollIndicator="NO" showsVerticalScrollIndicator="NO" dataMode="static" style="plain" separatorStyle="default" showsSelectionImmediatelyOnTouchBegin="NO" rowHeight="64" sectionHeaderHeight="28" sectionFooterHeight="28" id="s5T-Kh-5vE">
<rect key="frame" x="0.0" y="0.0" width="600" height="651"/>
<tableView key="view" clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" showsHorizontalScrollIndicator="NO" showsVerticalScrollIndicator="NO" dataMode="static" style="plain" separatorStyle="default" rowHeight="64" sectionHeaderHeight="28" sectionFooterHeight="28" id="s5T-Kh-5vE">
<rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
<color key="separatorColor" red="0.95686274510000002" green="0.95686274510000002" blue="0.95686274510000002" alpha="1" colorSpace="calibratedRGB"/>
<color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<color key="separatorColor" red="0.95686274510000002" green="0.95686274510000002" blue="0.95686274510000002" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<inset key="separatorInset" minX="0.0" minY="0.0" maxX="0.0" maxY="0.0"/>
<sections>
<tableViewSection id="j16-dA-5FE">
<cells>
<tableViewCell clipsSubviews="YES" contentMode="scaleToFill" selectionStyle="none" indentationWidth="10" reuseIdentifier="TableViewCell" rowHeight="495" id="eSp-bc-oLs">
<rect key="frame" x="0.0" y="64" width="600" height="495"/>
<rect key="frame" x="0.0" y="64" width="375" height="495"/>
<autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="eSp-bc-oLs" id="gp3-hH-62A">
<rect key="frame" x="0.0" y="0.0" width="600" height="494"/>
<frame key="frameInset" width="375" height="494"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<imageView userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="HeadnImage" translatesAutoresizingMaskIntoConstraints="NO" id="crB-kN-Kfj">
<rect key="frame" x="20" y="15" width="57" height="57"/>
<constraints>
<constraint firstAttribute="width" constant="57" id="9Za-dD-S8g"/>
<constraint firstAttribute="height" constant="57" id="AX1-LJ-Zr9"/>
</constraints>
</imageView>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Enhance Your Life By Having A Sense Of Purpose" textAlignment="natural" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="FfW-EB-0i9">
<rect key="frame" x="87" y="15" width="505" height="57"/>
<fontDescription key="fontDescription" name="OpenSans" family="Open Sans" pointSize="16"/>
<color key="textColor" red="0.36078431370000003" green="0.41176470590000003" blue="0.52156862749999999" alpha="1" colorSpace="calibratedRGB"/>
<color key="textColor" red="0.36078431370000003" green="0.41176470590000003" blue="0.52156862749999999" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<nil key="highlightedColor"/>
</label>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" textAlignment="justified" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="MZY-t1-gAo">
<rect key="frame" x="20" y="73" width="560" height="421"/>
<string key="text">At about this time of year, some months after New Years resolutions have been made and kept, or made and neglected, one thing is undeniable: we have a chance to learn and grow every day, no matter what we did not do yesterday or neglected to do last week. Make Use of This Moment
Making use of this moment, of the NOW, is a principle that stress management experts, psycho-therapists, meditators, and many authors such as Dr. Wayne Dyer, Jon Kabat-Zinn, and Eckhart Tolle have been talking and writing about for years.
The only moment, the only life we have is in the NOW. What happened a few moments or several years ago is gone, what will happen this evening, or next month when we go on holidays is not here yet. Thus, if we live our lives thinking about past events or future possibilities, we are literally not living our life. Developing Flow.</string>
<fontDescription key="fontDescription" name="OpenSans-Light" family="Open Sans" pointSize="14"/>
<color key="textColor" red="0.36078431370000003" green="0.41176470590000003" blue="0.52156862749999999" alpha="1" colorSpace="calibratedRGB"/>
<color key="textColor" red="0.36078431370000003" green="0.41176470590000003" blue="0.52156862749999999" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<nil key="highlightedColor"/>
</label>
</subviews>
@@ -837,36 +761,32 @@ The only moment, the only life we have is in the NOW. What happened a few moment
</tableViewCellContentView>
</tableViewCell>
<tableViewCell clipsSubviews="YES" contentMode="scaleToFill" selectionStyle="none" indentationWidth="10" reuseIdentifier="TableViewCell" rowHeight="100" id="gSh-oV-BT0">
<rect key="frame" x="0.0" y="559" width="600" height="100"/>
<rect key="frame" x="0.0" y="559" width="375" height="100"/>
<autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="gSh-oV-BT0" id="V8F-nf-rD7">
<rect key="frame" x="0.0" y="0.0" width="600" height="99"/>
<frame key="frameInset" width="375" height="99"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<imageView userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="girsl" translatesAutoresizingMaskIntoConstraints="NO" id="Ob0-rV-71Z">
<rect key="frame" x="20" y="15" width="57" height="57"/>
<constraints>
<constraint firstAttribute="width" constant="57" id="QxV-Wp-qTI"/>
<constraint firstAttribute="height" constant="57" id="v9v-SZ-rdw"/>
</constraints>
</imageView>
<imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="BGmessage" translatesAutoresizingMaskIntoConstraints="NO" id="Bei-S2-Qmi">
<rect key="frame" x="87" y="20" width="211" height="47"/>
<constraints>
<constraint firstAttribute="height" constant="47" id="5G2-qn-r9g"/>
<constraint firstAttribute="width" constant="211" id="lZb-eU-H3j"/>
</constraints>
</imageView>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Perfect post, really thanks !" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="k7p-An-UPP">
<rect key="frame" x="87" y="20" width="211" height="47"/>
<fontDescription key="fontDescription" name="OpenSans" family="Open Sans" pointSize="14"/>
<color key="textColor" red="0.36078431372549019" green="0.41176470588235292" blue="0.52156862745098043" alpha="1" colorSpace="calibratedRGB"/>
<color key="textColor" red="0.36078431372549019" green="0.41176470588235292" blue="0.52156862745098043" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<nil key="highlightedColor"/>
</label>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="01:PM" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Sjl-dU-8u5">
<rect key="frame" x="303" y="50" width="35" height="17"/>
<fontDescription key="fontDescription" name="OpenSans" family="Open Sans" pointSize="12"/>
<color key="textColor" red="0.36470588235294116" green="0.4392156862745098" blue="0.58823529411764708" alpha="0.2993559966216216" colorSpace="calibratedRGB"/>
<color key="textColor" red="0.36470588235294116" green="0.4392156862745098" blue="0.58823529411764708" alpha="0.2993559966216216" colorSpace="custom" customColorSpace="sRGB"/>
<nil key="highlightedColor"/>
</label>
</subviews>
@@ -895,17 +815,15 @@ The only moment, the only life we have is in the NOW. What happened a few moment
<toolbarItems/>
<navigationItem key="navigationItem" title="Post" id="UNy-Xt-gMS">
<barButtonItem key="leftBarButtonItem" image="backButton" id="dTy-D2-oW3">
<color key="tintColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
<color key="tintColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<connections>
<action selector="backHandler:" destination="nzl-xt-jfq" id="5p0-sR-YpK"/>
</connections>
</barButtonItem>
</navigationItem>
<freeformSimulatedSizeMetrics key="simulatedDestinationMetrics"/>
<size key="freeformSize" width="600" height="651"/>
<userDefinedRuntimeAttributes>
<userDefinedRuntimeAttribute type="color" keyPath="navbarColor">
<color key="value" red="0.96470588235294119" green="0.73725490196078436" blue="0.59607843137254901" alpha="1" colorSpace="calibratedRGB"/>
<color key="value" red="0.96470588235294119" green="0.73725490196078436" blue="0.59607843137254901" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
</userDefinedRuntimeAttribute>
</userDefinedRuntimeAttributes>
<connections>
@@ -914,78 +832,69 @@ The only moment, the only life we have is in the NOW. What happened a few moment
</tableViewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="D7E-8q-4GX" userLabel="First Responder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="2617" y="1164.5"/>
<point key="canvasLocation" x="2506" y="1137"/>
</scene>
<!--Sally Perkins-->
<scene sceneID="Src-9g-5Bx">
<objects>
<tableViewController automaticallyAdjustsScrollViewInsets="NO" id="vgN-Iu-4mR" customClass="ThirdViewController" customModule="NavigationStackDemo" customModuleProvider="target" sceneMemberID="viewController">
<tableView key="view" clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" showsHorizontalScrollIndicator="NO" showsVerticalScrollIndicator="NO" dataMode="static" style="plain" separatorStyle="default" showsSelectionImmediatelyOnTouchBegin="NO" rowHeight="64" sectionHeaderHeight="28" sectionFooterHeight="28" id="yBE-g4-hfK">
<rect key="frame" x="0.0" y="0.0" width="600" height="651"/>
<tableView key="view" clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" showsHorizontalScrollIndicator="NO" showsVerticalScrollIndicator="NO" dataMode="static" style="plain" separatorStyle="default" rowHeight="64" sectionHeaderHeight="28" sectionFooterHeight="28" id="yBE-g4-hfK">
<rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
<color key="separatorColor" red="0.95686274510000002" green="0.95686274510000002" blue="0.95686274510000002" alpha="1" colorSpace="calibratedRGB"/>
<color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<color key="separatorColor" red="0.95686274510000002" green="0.95686274510000002" blue="0.95686274510000002" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<inset key="separatorInset" minX="0.0" minY="0.0" maxX="0.0" maxY="0.0"/>
<sections>
<tableViewSection id="Vjy-aV-G4G">
<cells>
<tableViewCell clipsSubviews="YES" contentMode="scaleToFill" selectionStyle="none" indentationWidth="10" reuseIdentifier="TableViewCell" rowHeight="406" id="7nf-xU-0x6">
<rect key="frame" x="0.0" y="0.0" width="600" height="406"/>
<rect key="frame" x="0.0" y="0.0" width="375" height="406"/>
<autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="7nf-xU-0x6" id="0rt-ai-6YF">
<rect key="frame" x="0.0" y="0.0" width="600" height="405"/>
<frame key="frameInset" width="375" height="405"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="BridgeImage" translatesAutoresizingMaskIntoConstraints="NO" id="Lh0-U8-KhC">
<rect key="frame" x="0.0" y="0.0" width="600" height="405"/>
</imageView>
<imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="BridgeImage" translatesAutoresizingMaskIntoConstraints="NO" id="Lh0-U8-KhC"/>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="K9z-Jc-aAJ" userLabel="ContainerView">
<rect key="frame" x="200" y="89" width="200" height="280"/>
<subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Sally Perkins" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="X6z-h6-md7">
<rect key="frame" x="48" y="157" width="105" height="25"/>
<fontDescription key="fontDescription" name="OpenSans" family="Open Sans" pointSize="18"/>
<color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
<color key="textColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<nil key="highlightedColor"/>
</label>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="5dk-W9-7jl">
<rect key="frame" x="69" y="185" width="62" height="39"/>
<string key="text">New York
USA</string>
<fontDescription key="fontDescription" name="OpenSans" family="Open Sans" pointSize="14"/>
<color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
<color key="textColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<nil key="highlightedColor"/>
</label>
<imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="PinIcon" translatesAutoresizingMaskIntoConstraints="NO" id="o0h-Gi-FJ1">
<rect key="frame" x="80" y="240" width="40" height="40"/>
<constraints>
<constraint firstAttribute="width" constant="40" id="Oah-n1-wEc"/>
<constraint firstAttribute="height" constant="40" id="hIV-CR-7iy"/>
</constraints>
</imageView>
<imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="PersonIcon" translatesAutoresizingMaskIntoConstraints="NO" id="IFi-kj-Yy7">
<rect key="frame" x="4" y="240" width="40" height="40"/>
<constraints>
<constraint firstAttribute="height" constant="40" id="Ttp-co-l57"/>
<constraint firstAttribute="width" constant="40" id="dNh-9z-CAG"/>
</constraints>
</imageView>
<imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="PinIcon" translatesAutoresizingMaskIntoConstraints="NO" id="WdM-1P-ho4">
<rect key="frame" x="156" y="240" width="40" height="40"/>
<constraints>
<constraint firstAttribute="width" constant="40" id="DzL-z6-c3g"/>
<constraint firstAttribute="height" constant="40" id="htE-HV-pdT"/>
</constraints>
</imageView>
<imageView userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="GirlsBig" translatesAutoresizingMaskIntoConstraints="NO" id="8Hw-xX-eKi">
<rect key="frame" x="28" y="0.0" width="145" height="145"/>
<constraints>
<constraint firstAttribute="height" constant="145" id="ZLs-mQ-XPB"/>
<constraint firstAttribute="width" constant="145" id="wjY-Qi-Pke"/>
</constraints>
</imageView>
</subviews>
<color key="backgroundColor" red="0.2394116026" green="0.89475203039999995" blue="1" alpha="0.0" colorSpace="calibratedRGB"/>
<color key="backgroundColor" red="0.2394116026" green="0.89475203039999995" blue="1" alpha="0.0" colorSpace="custom" customColorSpace="sRGB"/>
<constraints>
<constraint firstItem="8Hw-xX-eKi" firstAttribute="centerX" secondItem="K9z-Jc-aAJ" secondAttribute="centerX" id="5tg-CM-CFz"/>
<constraint firstAttribute="height" constant="280" id="BcF-ro-Ooy"/>
@@ -1015,30 +924,27 @@ USA</string>
</tableViewCellContentView>
</tableViewCell>
<tableViewCell clipsSubviews="YES" contentMode="scaleToFill" selectionStyle="none" indentationWidth="10" reuseIdentifier="TableViewCell" rowHeight="155" id="vhk-zF-mz3">
<rect key="frame" x="0.0" y="406" width="600" height="155"/>
<rect key="frame" x="0.0" y="406" width="375" height="155"/>
<autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="vhk-zF-mz3" id="85S-wo-Fmz">
<rect key="frame" x="0.0" y="0.0" width="600" height="154"/>
<frame key="frameInset" width="375" height="154"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<imageView userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="foodIcon" translatesAutoresizingMaskIntoConstraints="NO" id="kXM-Xk-fXp">
<rect key="frame" x="20" y="15" width="57" height="57"/>
<constraints>
<constraint firstAttribute="height" constant="57" id="8r5-ns-RnU"/>
<constraint firstAttribute="width" constant="57" id="bHw-uB-CSI"/>
</constraints>
</imageView>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="How To Meet That Special Someone" textAlignment="natural" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Zii-dv-1iS">
<rect key="frame" x="87" y="15" width="505" height="57"/>
<fontDescription key="fontDescription" name="OpenSans" family="Open Sans" pointSize="16"/>
<color key="textColor" red="0.36078431370000003" green="0.41176470590000003" blue="0.52156862749999999" alpha="1" colorSpace="calibratedRGB"/>
<color key="textColor" red="0.36078431370000003" green="0.41176470590000003" blue="0.52156862749999999" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<nil key="highlightedColor"/>
</label>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" textAlignment="justified" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="HRv-6L-lsi">
<rect key="frame" x="20" y="73" width="560" height="81"/>
<string key="text">At about this time of year, some months after New Years resolutions have been made and kept, or made and neglected, one thing is undeniable: we</string>
<fontDescription key="fontDescription" name="OpenSans-Light" family="Open Sans" pointSize="14"/>
<color key="textColor" red="0.36078431370000003" green="0.41176470590000003" blue="0.52156862749999999" alpha="1" colorSpace="calibratedRGB"/>
<color key="textColor" red="0.36078431370000003" green="0.41176470590000003" blue="0.52156862749999999" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<nil key="highlightedColor"/>
</label>
</subviews>
@@ -1057,30 +963,27 @@ USA</string>
</tableViewCellContentView>
</tableViewCell>
<tableViewCell clipsSubviews="YES" contentMode="scaleToFill" selectionStyle="none" indentationWidth="10" reuseIdentifier="TableViewCell" rowHeight="155" id="xYA-vC-VEF">
<rect key="frame" x="0.0" y="561" width="600" height="155"/>
<rect key="frame" x="0.0" y="561" width="375" height="155"/>
<autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="xYA-vC-VEF" id="y0s-1S-2tY">
<rect key="frame" x="0.0" y="0.0" width="600" height="154"/>
<frame key="frameInset" width="375" height="154"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<imageView userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="faceIcon" translatesAutoresizingMaskIntoConstraints="NO" id="Ugo-yO-0je">
<rect key="frame" x="20" y="15" width="57" height="57"/>
<constraints>
<constraint firstAttribute="width" constant="57" id="ZfN-jp-UI8"/>
<constraint firstAttribute="height" constant="57" id="xpb-oC-qBY"/>
</constraints>
</imageView>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="How To Excel In A Technical Job Interview" textAlignment="natural" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="HOl-v5-3WH">
<rect key="frame" x="87" y="15" width="505" height="57"/>
<fontDescription key="fontDescription" name="OpenSans" family="Open Sans" pointSize="16"/>
<color key="textColor" red="0.36078431370000003" green="0.41176470590000003" blue="0.52156862749999999" alpha="1" colorSpace="calibratedRGB"/>
<color key="textColor" red="0.36078431370000003" green="0.41176470590000003" blue="0.52156862749999999" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<nil key="highlightedColor"/>
</label>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" textAlignment="justified" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="9Tc-qB-gq3">
<rect key="frame" x="20" y="73" width="560" height="81"/>
<string key="text">At about this time of year, some months after New Years resolutions have been made and kept, or made and neglected, one thing is undeniable: we</string>
<fontDescription key="fontDescription" name="OpenSans-Light" family="Open Sans" pointSize="14"/>
<color key="textColor" red="0.36078431370000003" green="0.41176470590000003" blue="0.52156862749999999" alpha="1" colorSpace="calibratedRGB"/>
<color key="textColor" red="0.36078431370000003" green="0.41176470590000003" blue="0.52156862749999999" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<nil key="highlightedColor"/>
</label>
</subviews>
@@ -1108,7 +1011,7 @@ USA</string>
</tableView>
<navigationItem key="navigationItem" title="Sally Perkins" id="87M-9z-ZBY">
<barButtonItem key="leftBarButtonItem" image="backButton" id="OAc-d7-aUh">
<color key="tintColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
<color key="tintColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<connections>
<action selector="backHandler:" destination="vgN-Iu-4mR" id="oAG-8U-UYd"/>
</connections>
@@ -1116,7 +1019,7 @@ USA</string>
</navigationItem>
<userDefinedRuntimeAttributes>
<userDefinedRuntimeAttribute type="color" keyPath="navbarColor">
<color key="value" red="0.78431372549019607" green="0.88235294117647056" blue="0.59999999999999998" alpha="1" colorSpace="calibratedRGB"/>
<color key="value" red="0.78431372549019607" green="0.88235294117647056" blue="0.59999999999999998" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
</userDefinedRuntimeAttribute>
</userDefinedRuntimeAttributes>
<connections>
@@ -1125,7 +1028,7 @@ USA</string>
</tableViewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="zWT-Hc-NvR" userLabel="First Responder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="3284" y="1164.5"/>
<point key="canvasLocation" x="3254" y="1137"/>
</scene>
</scenes>
<resources>
@@ -9,8 +9,8 @@
import UIKit
class FifthViewController: UITableViewController {
@IBAction func backHandler(sender: AnyObject) {
navigationController?.popViewControllerAnimated(true)
}
@IBAction func backHandler(_: AnyObject) {
_ = navigationController?.popViewController(animated: true)
}
}
@@ -11,43 +11,42 @@ import UIKit
// MARK: FirstTableViewController
class FirstTableViewController: UITableViewController {
@IBOutlet var search: UISearchBar!
override func viewDidLoad() {
super.viewDidLoad()
navigationController!.interactivePopGestureRecognizer?.delegate = self
navigationItem.titleView = search
}
override func viewWillAppear(animated: Bool) {
super.viewWillAppear(animated)
if let navigationController = navigationController {
navigationController.navigationBar.barTintColor = UIColor(red:0.4, green:0.47, blue:0.62, alpha:1)
@IBOutlet var search: UISearchBar!
override func viewDidLoad() {
super.viewDidLoad()
navigationController!.interactivePopGestureRecognizer?.delegate = self
navigationItem.titleView = search
}
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
if let navigationController = navigationController {
navigationController.navigationBar.barTintColor = UIColor(red: 0.4, green: 0.47, blue: 0.62, alpha: 1)
}
}
override func tableView(_: UITableView, didSelectRowAt _: IndexPath) {
performSegue(withIdentifier: "push", sender: nil)
}
}
override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
performSegueWithIdentifier("push", sender: nil)
}
}
// MARK: UIGestureRecognizerDelegate
extension FirstTableViewController: UIGestureRecognizerDelegate {
func gestureRecognizerShouldBegin(gestureRecognizer: UIGestureRecognizer) -> Bool {
if navigationController?.viewControllers.count == 2 {
return true
func gestureRecognizerShouldBegin(_: UIGestureRecognizer) -> Bool {
if navigationController?.viewControllers.count == 2 {
return true
}
if let navigationController = self.navigationController as? NavigationStack {
navigationController.showControllers()
}
return false
}
if let navigationController = self.navigationController as? NavigationStack {
navigationController.showControllers()
}
return false
}
}
@@ -9,24 +9,22 @@
import UIKit
class SecondViewController: UITableViewController {
override func viewWillAppear(animated: Bool) {
super.viewWillAppear(animated)
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
// if let navigationController = navigationController {
//// navigationController.navigationBar.barTintColor = UIColor(red:0.61, green:0.86, blue:0.87, alpha:1)
//// tableView.contentOffset = CGPoint(x: 0, y: -44)
//// navigationController.navigationBar.translucent = true
//// navigationController.navigationBar.barTintColor = UIColor(red:0.61, green:0.86, blue:0.87, alpha:1)
//// tableView.contentOffset = CGPoint(x: 0, y: -44)
//// navigationController.navigationBar.translucent = true
// }
}
}
@IBAction func backHandler(_: AnyObject) {
_ = navigationController?.popViewController(animated: true)
}
@IBAction func backHandler(sender: AnyObject) {
navigationController?.popViewControllerAnimated(true)
}
override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
performSegueWithIdentifier("push", sender: nil)
}
override func tableView(_: UITableView, didSelectRowAt _: IndexPath) {
performSegue(withIdentifier: "push", sender: nil)
}
}
@@ -9,20 +9,18 @@
import UIKit
class ThirdViewController: UITableViewController {
@IBInspectable var navbarColor: UIColor = .blackColor()
override func viewWillAppear(animated: Bool) {
super.viewWillAppear(animated)
}
@IBAction func backHandler(sender: AnyObject) {
navigationController?.popViewControllerAnimated(true)
}
override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
performSegueWithIdentifier("push", sender: nil)
}
@IBInspectable var navbarColor: UIColor = .black
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
}
@IBAction func backHandler(_: AnyObject) {
_ = navigationController?.popViewController(animated: true)
}
override func tableView(_: UITableView, didSelectRowAt _: IndexPath) {
performSegue(withIdentifier: "push", sender: nil)
}
}
-24
View File
@@ -1,24 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleExecutable</key>
<string>$(EXECUTABLE_NAME)</string>
<key>CFBundleIdentifier</key>
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>$(PRODUCT_NAME)</string>
<key>CFBundlePackageType</key>
<string>BNDL</string>
<key>CFBundleShortVersionString</key>
<string>1.0</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>1</string>
</dict>
</plist>
@@ -1,36 +0,0 @@
//
// NavigationStackDemoTests.swift
// NavigationStackDemoTests
//
// Created by Alex K. on 26/02/16.
// Copyright © 2016 Alex K. All rights reserved.
//
import XCTest
@testable import NavigationStackDemo
class NavigationStackDemoTests: XCTestCase {
override func setUp() {
super.setUp()
// Put setup code here. This method is called before the invocation of each test method in the class.
}
override func tearDown() {
// Put teardown code here. This method is called after the invocation of each test method in the class.
super.tearDown()
}
func testExample() {
// This is an example of a functional test case.
// Use XCTAssert and related functions to verify your tests produce the correct results.
}
func testPerformanceExample() {
// This is an example of a performance test case.
self.measureBlock {
// Put the code you want to measure the time of here.
}
}
}
+43
View File
@@ -0,0 +1,43 @@
// swift-tools-version:5.1
//
// Package.swift
//
// Copyright (c) Ramotion (https://www.ramotion.com/)
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in
// all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
// THE SOFTWARE.
//
import PackageDescription
let package = Package(
name: "NavigationStack",
platforms: [
.iOS(.v8)
],
products: [
.library(name: "NavigationStack",
targets: ["NavigationStack"]),
],
targets: [
.target(name: "NavigationStack",
path: "Source")
],
swiftLanguageVersions: [.v5]
)
+40 -15
View File
@@ -1,22 +1,40 @@
![header](./header.png)
<a href="https://www.ramotion.com/agency/app-development/?utm_source=gthb&utm_medium=repo&utm_campaign=navigation-stack"><img src="https://github.com/Ramotion/folding-cell/blob/master/header.png"></a>
<a href="https://github.com/Ramotion/navigation-stack">
<img align="left" src="https://github.com/Ramotion/navigation-stack/blob/master/navigation-stack.gif" width="480" height="360" /></a>
<p><h1 align="left">NAVIGATION STACK</h1></p>
<h4>Navigation Stack is a library with stack-modeled UI navigation controller.</h4>
___
<p><h6>We specialize in the designing and coding of custom UI for Mobile Apps and Websites.</h6>
<a href="https://www.ramotion.com/agency/app-development/?utm_source=gthb&utm_medium=repo&utm_campaign=navigation-stack">
<img src="https://github.com/ramotion/gliding-collection/raw/master/contact_our_team@2x.png" width="187" height="34"></a>
</p>
<p><h6>Stay tuned for the latest updates:</h6>
<a href="https://goo.gl/rPFpid" >
<img src="https://i.imgur.com/ziSqeSo.png/" width="156" height="28"></a></p>
</br>
# navigation-stack
[![Twitter](https://img.shields.io/badge/Twitter-@Ramotion-blue.svg?style=flat)](http://twitter.com/Ramotion)
[![CocoaPods](https://img.shields.io/cocoapods/p/Navigation-stack.svg)](https://cocoapods.org/pods/Navigation-stack)
[![CocoaPods](https://img.shields.io/cocoapods/v/Navigation-stack.svg)](http://cocoapods.org/pods/Navigation-stack)
[![CocoaPods](https://img.shields.io/cocoapods/metrics/doc-percent/Navigation-stack.svg)](https://cdn.rawgit.com/Ramotion/navigation-stack/master/docs/index.html)
[![Travis](https://img.shields.io/travis/Ramotion/navigation-stack.svg)](https://travis-ci.org/Ramotion/navigation-stack)
[![codebeat badge](https://codebeat.co/badges/c322a039-b06b-46d9-bf40-e48cf0365b97)](https://codebeat.co/projects/github-com-ramotion-navigation-stack)
[![Carthage compatible](https://img.shields.io/badge/Carthage-compatible-4BC51D.svg?style=flat)](https://github.com/Ramotion/navigation-stack)
[shot on dribbble](https://dribbble.com/shots/2583175-Navigation-Stack-Swift-Open-Source):
![Animation](Navigation-Stack.gif)
The [iPhone mockup](https://store.ramotion.com/product/iphone-6-mockups?utm_source=gthb&utm_medium=special&utm_campaign=navigation-stack) available [here](https://store.ramotion.com/product/iphone-6-mockups?utm_source=gthb&utm_medium=special&utm_campaign=navigation-stack).
[![Donate](https://img.shields.io/badge/Donate-PayPal-blue.svg)](https://paypal.me/Ramotion)
## Requirements
- iOS 9.0+
- Xcode 7.3
- Xcode 9
## Installation
@@ -62,15 +80,22 @@ extension YourViewController: UIGestureRecognizerDelegate {
}
```
## Licence
## 📄 License
Navigation-stack is released under the MIT license.
Navigation Stack is released under the MIT license.
See [LICENSE](./LICENSE) for details.
This library is a part of a <a href="https://github.com/Ramotion/swift-ui-animation-components-and-libraries"><b>selection of our best UI open-source projects.</b></a>
## About
The project maintained by [app development agency](https://ramotion.com?utm_source=gthb&utm_medium=special&utm_campaign=navigation-stack) [Ramotion Inc.](https://ramotion.com?utm_source=gthb&utm_medium=special&utm_campaign=navigation-stack)
See our other [open-source projects](https://github.com/ramotion) or [hire](https://ramotion.com?utm_source=gthb&utm_medium=special&utm_campaign=navigation-stack) us to design, develop, and grow your product.
If you use the open-source library in your project, please make sure to credit and backlink to www.ramotion.com
[![Twitter URL](https://img.shields.io/twitter/url/http/shields.io.svg?style=social)](https://twitter.com/intent/tweet?text=https://github.com/ramotion/navigation-stack)
[![Twitter Follow](https://img.shields.io/twitter/follow/ramotion.svg?style=social)](https://twitter.com/ramotion)
## 📱 Get the Showroom App for iOS to give it a try
Try this UI component and more like this in our iOS app. Contact us if interested.
<a href="https://itunes.apple.com/app/apple-store/id1182360240?pt=550053&ct=navigation-stack&mt=8" >
<img src="https://github.com/ramotion/gliding-collection/raw/master/app_store@2x.png" width="117" height="34"></a>
<a href="https://www.ramotion.com/agency/app-development/?utm_source=gthb&utm_medium=repo&utm_campaign=navigation-stack">
<img src="https://github.com/ramotion/gliding-collection/raw/master/contact_our_team@2x.png" width="187" height="34"></a>
<br>
<br>
Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

@@ -22,82 +22,80 @@
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
// THE SOFTWARE.
import UIKit
// MARK: CollectionViewStackCell
class CollectionViewStackCell: UICollectionViewCell {
internal var imageView: UIImageView?
override init(frame: CGRect) {
super.init(frame: frame)
imageView = createImageView()
createShadow()
}
required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
internal override func prepareForReuse() {
imageView?.image = nil
}
internal var imageView: UIImageView?
override init(frame: CGRect) {
super.init(frame: frame)
imageView = createImageView()
createShadow()
}
required init?(coder _: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
internal override func prepareForReuse() {
imageView?.image = nil
}
}
// MARK: configure
extension CollectionViewStackCell {
private func createImageView() -> UIImageView {
fileprivate func createImageView() -> UIImageView {
let imageView = UIImageView(frame: CGRect.zero)
imageView.translatesAutoresizingMaskIntoConstraints = false
imageView.layer.shouldRasterize = true
contentView.addSubview(imageView)
contentView.addConstraints([
createConstraint(imageView, toItem: contentView, attribute: .Top),
createConstraint(imageView, toItem: contentView, attribute: .Bottom),
createConstraint(imageView, toItem: contentView, attribute: .Left),
createConstraint(imageView, toItem: contentView, attribute: .Right),
])
return imageView
}
private func createConstraint(item: UIImageView, toItem: UIView, attribute: NSLayoutAttribute) -> NSLayoutConstraint {
return NSLayoutConstraint(item: item,
attribute: attribute,
relatedBy: .Equal,
toItem: toItem,
attribute: attribute,
multiplier: 1,
constant: 0)
}
private func createShadow() {
layer.masksToBounds = false;
layer.shadowOpacity = 0.30;
layer.shadowRadius = 10.0;
layer.shadowOffset = CGSize.zero;
layer.shadowPath = UIBezierPath(rect: bounds).CGPath
layer.shouldRasterize = true;
}
private func addBlurOnImage(image: UIImageView) {
let blurEffect = UIBlurEffect(style: .Dark)
let blurView = UIVisualEffectView(effect: blurEffect)
blurView.translatesAutoresizingMaskIntoConstraints = false
imageView!.insertSubview(blurView, atIndex: 3)
let imageView = UIImageView(frame: CGRect.zero)
imageView.translatesAutoresizingMaskIntoConstraints = false
imageView.layer.shouldRasterize = true
contentView.addSubview(imageView)
let vibrancyEffect = UIVibrancyEffect(forBlurEffect: blurEffect)
let vibrancyView = UIVisualEffectView(effect: vibrancyEffect)
vibrancyView.translatesAutoresizingMaskIntoConstraints = false
blurView.contentView.addSubview(vibrancyView)
}
contentView.addConstraints([
createConstraint(imageView, toItem: contentView, attribute: .top),
createConstraint(imageView, toItem: contentView, attribute: .bottom),
createConstraint(imageView, toItem: contentView, attribute: .left),
createConstraint(imageView, toItem: contentView, attribute: .right),
])
return imageView
}
fileprivate func createConstraint(_ item: UIImageView, toItem: UIView, attribute: NSLayoutConstraint.Attribute) -> NSLayoutConstraint {
return NSLayoutConstraint(item: item,
attribute: attribute,
relatedBy: .equal,
toItem: toItem,
attribute: attribute,
multiplier: 1,
constant: 0)
}
fileprivate func createShadow() {
layer.masksToBounds = false
layer.shadowOpacity = 0.30
layer.shadowRadius = 10.0
layer.shadowOffset = CGSize.zero
layer.shadowPath = UIBezierPath(rect: bounds).cgPath
layer.shouldRasterize = true
layer.rasterizationScale = max(UIScreen.main.scale, 2.0)
}
fileprivate func addBlurOnImage(_: UIImageView) {
let blurEffect = UIBlurEffect(style: .dark)
let blurView = UIVisualEffectView(effect: blurEffect)
blurView.translatesAutoresizingMaskIntoConstraints = false
imageView!.insertSubview(blurView, at: 3)
let vibrancyEffect = UIVibrancyEffect(blurEffect: blurEffect)
let vibrancyView = UIVisualEffectView(effect: vibrancyEffect)
vibrancyView.translatesAutoresizingMaskIntoConstraints = false
blurView.contentView.addSubview(vibrancyView)
}
}
@@ -22,163 +22,169 @@
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
// THE SOFTWARE.
import UIKit
fileprivate func < <T: Comparable>(lhs: T?, rhs: T?) -> Bool {
switch (lhs, rhs) {
case let (l?, r?):
return l < r
case (nil, _?):
return true
default:
return false
}
}
// MARK: CollectionStackViewController
protocol CollectionStackViewControllerDelegate: class {
func controllerDidSelected(index index: Int)
func controllerDidSelected(index: Int)
}
class CollectionStackViewController: UICollectionViewController {
private var screens: [UIImage]
private let overlay: Float
weak var delegate: CollectionStackViewControllerDelegate?
init(images: [UIImage],
delegate: CollectionStackViewControllerDelegate?,
overlay: Float,
scaleRatio: Float,
scaleValue: Float,
bgColor: UIColor = UIColor.clearColor(),
bgView: UIView? = nil,
decelerationRate:CGFloat) {
self.screens = images
self.delegate = delegate
self.overlay = overlay
let layout = CollectionViewStackFlowLayout(itemsCount: images.count, overlay: overlay, scaleRatio: scaleRatio, scale:scaleValue)
super.init(collectionViewLayout: layout)
if let collectionView = self.collectionView {
collectionView.backgroundColor = bgColor
collectionView.backgroundView = bgView
collectionView.decelerationRate = decelerationRate
}
}
fileprivate var screens: [UIImage]
fileprivate let overlay: Float
required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
override func viewDidLoad() {
configureCollectionView()
scrolltoIndex(screens.count - 1, animated: false, position: .Left) // move to end
}
override func viewDidAppear(animated: Bool) {
guard let collectionViewLayout = self.collectionViewLayout as? CollectionViewStackFlowLayout else {
fatalError("wrong collection layout")
weak var delegate: CollectionStackViewControllerDelegate?
init(images: [UIImage],
delegate: CollectionStackViewControllerDelegate?,
overlay: Float,
scaleRatio: Float,
scaleValue: Float,
bgColor: UIColor = UIColor.clear,
bgView: UIView? = nil,
decelerationRate: CGFloat) {
screens = images
self.delegate = delegate
self.overlay = overlay
let layout = CollectionViewStackFlowLayout(itemsCount: images.count, overlay: overlay, scaleRatio: scaleRatio, scale: scaleValue)
super.init(collectionViewLayout: layout)
if let collectionView = self.collectionView {
collectionView.backgroundColor = bgColor
collectionView.backgroundView = bgView
collectionView.decelerationRate = UIScrollView.DecelerationRate(rawValue: decelerationRate)
}
}
required init?(coder _: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
override func viewDidLoad() {
configureCollectionView()
scrolltoIndex(screens.count - 1, animated: false, position: .left) // move to end
}
override func viewDidAppear(_: Bool) {
guard let collectionViewLayout = self.collectionViewLayout as? CollectionViewStackFlowLayout else {
fatalError("wrong collection layout")
}
collectionViewLayout.openAnimating = true
scrolltoIndex(0, animated: true, position: .left) // open animation
}
collectionViewLayout.openAnimating = true
scrolltoIndex(0, animated: true, position: .Left) // open animation
}
}
// MARK: configure
extension CollectionStackViewController {
private func configureCollectionView() {
guard let collectionViewLayout = self.collectionViewLayout as? UICollectionViewFlowLayout else {
fatalError("wrong collection layout")
}
collectionViewLayout.scrollDirection = .Horizontal
collectionView?.showsHorizontalScrollIndicator = false
collectionView?.registerClass(CollectionViewStackCell.self, forCellWithReuseIdentifier: String(CollectionViewStackCell))
}
fileprivate func configureCollectionView() {
guard let collectionViewLayout = self.collectionViewLayout as? UICollectionViewFlowLayout else {
fatalError("wrong collection layout")
}
collectionViewLayout.scrollDirection = .horizontal
collectionView?.showsHorizontalScrollIndicator = false
collectionView?.register(CollectionViewStackCell.self, forCellWithReuseIdentifier: String(describing: CollectionViewStackCell.self))
}
}
// MARK: CollectionViewDataSource
extension CollectionStackViewController {
override func collectionView(collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
return screens.count
}
override func collectionView(collectionView: UICollectionView,
willDisplayCell cell: UICollectionViewCell,
forItemAtIndexPath indexPath: NSIndexPath) {
if let cell = cell as? CollectionViewStackCell {
cell.imageView?.image = screens[indexPath.row]
}
}
override func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell {
let cell = collectionView.dequeueReusableCellWithReuseIdentifier(String(CollectionViewStackCell),
forIndexPath: indexPath)
return cell
}
override func collectionView(collectionView: UICollectionView, didSelectItemAtIndexPath indexPath: NSIndexPath) {
guard let currentCell = collectionView.cellForItemAtIndexPath(indexPath) else {
return
override func collectionView(_: UICollectionView, numberOfItemsInSection _: Int) -> Int {
return screens.count
}
// move cells
UIView.animateWithDuration(0.3, delay: 0, options:.CurveEaseIn,
animations: { () -> Void in
for cell in self.collectionView!.visibleCells() where cell != currentCell {
let row = self.collectionView?.indexPathForCell(cell)?.row
let xPosition = row < indexPath.row ? cell.center.x - self.view.bounds.size.width * 2
: cell.center.x + self.view.bounds.size.width * 2
cell.center = CGPoint(x: xPosition, y: cell.center.y)
}
}, completion: nil)
// move to center current cell
UIView.animateWithDuration(0.2, delay: 0.2, options:.CurveEaseOut,
animations: { () -> Void in
let offset = collectionView.contentOffset.x - (self.view.bounds.size.width - collectionView.bounds.size.width * CGFloat(self.overlay)) * CGFloat(indexPath.row)
currentCell.center = CGPoint(x: (currentCell.center.x + offset), y: currentCell.center.y)
}, completion: nil)
// scale current cell
UIView.animateWithDuration(0.2, delay: 0.6, options:.CurveEaseOut, animations: { () -> Void in
let scale = CGAffineTransformMakeScale(1, 1)
currentCell.transform = scale
currentCell.alpha = 1
}) { (success) -> Void in
dispatch_async(dispatch_get_main_queue(), { () -> Void in
self.delegate?.controllerDidSelected(index: indexPath.row)
self.dismissViewControllerAnimated(false, completion: nil)
})
override func collectionView(_: UICollectionView,
willDisplay cell: UICollectionViewCell,
forItemAt indexPath: IndexPath) {
if let cell = cell as? CollectionViewStackCell {
cell.imageView?.image = screens[(indexPath as NSIndexPath).row]
}
}
override func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
let cell = collectionView.dequeueReusableCell(withReuseIdentifier: String(describing: CollectionViewStackCell.self),
for: indexPath)
return cell
}
override func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
guard let currentCell = collectionView.cellForItem(at: indexPath) else {
return
}
// move cells
UIView.animate(withDuration: 0.3, delay: 0, options: .curveEaseIn,
animations: { () -> Void in
for cell in self.collectionView!.visibleCells where cell != currentCell {
let row = (self.collectionView?.indexPath(for: cell) as NSIndexPath?)?.row
let xPosition = row < (indexPath as NSIndexPath).row ? cell.center.x - self.view.bounds.size.width * 2
: cell.center.x + self.view.bounds.size.width * 2
cell.center = CGPoint(x: xPosition, y: cell.center.y)
}
}, completion: nil)
// move to center current cell
UIView.animate(withDuration: 0.2, delay: 0.2, options: .curveEaseOut,
animations: { () -> Void in
let offset = collectionView.contentOffset.x - (self.view.bounds.size.width - collectionView.bounds.size.width * CGFloat(self.overlay)) * CGFloat((indexPath as NSIndexPath).row)
currentCell.center = CGPoint(x: (currentCell.center.x + offset), y: currentCell.center.y)
}, completion: nil)
// scale current cell
UIView.animate(withDuration: 0.2, delay: 0.6, options: .curveEaseOut, animations: { () -> Void in
let scale = CGAffineTransform(scaleX: 1, y: 1)
currentCell.transform = scale
currentCell.alpha = 1
}) { (_) -> Void in
DispatchQueue.main.async(execute: { () -> Void in
self.delegate?.controllerDidSelected(index: (indexPath as NSIndexPath).row)
self.dismiss(animated: false, completion: nil)
})
}
}
}
}
// MARK: UICollectionViewDelegateFlowLayout
extension CollectionStackViewController: UICollectionViewDelegateFlowLayout {
func collectionView(collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAtIndexPath indexPath: NSIndexPath) -> CGSize {
return view.bounds.size
}
func collectionView(collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, minimumLineSpacingForSectionAtIndex section: NSInteger) -> CGFloat {
return -collectionView.bounds.size.width * CGFloat(overlay)
}
}
func collectionView(_: UICollectionView, layout _: UICollectionViewLayout, sizeForItemAt _: IndexPath) -> CGSize {
return view.bounds.size
}
func collectionView(_ collectionView: UICollectionView, layout _: UICollectionViewLayout, minimumLineSpacingForSectionAt _: NSInteger) -> CGFloat {
return -collectionView.bounds.size.width * CGFloat(overlay)
}
}
// MARK: Additional helpers
extension CollectionStackViewController {
private func scrolltoIndex(index: Int, animated: Bool , position: UICollectionViewScrollPosition) {
let indexPath = NSIndexPath(forItem: index, inSection: 0)
collectionView?.scrollToItemAtIndexPath(indexPath, atScrollPosition: position, animated: animated)
}
fileprivate func scrolltoIndex(_ index: Int, animated: Bool, position: UICollectionView.ScrollPosition) {
let indexPath = IndexPath(item: index, section: 0)
collectionView?.scrollToItem(at: indexPath, at: position, animated: animated)
}
}
@@ -22,125 +22,121 @@
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
// THE SOFTWARE.
import UIKit
// MARK: CollectionViewStackFlowLayout
class CollectionViewStackFlowLayout: UICollectionViewFlowLayout {
let itemsCount: Int
let overlay: Float // from 0 to 1
let maxScale: Float
let scaleRatio: Float
var additionScale = 1.0
var openAnimating = false
var dxOffset: Float = 0
init(itemsCount: Int, overlay: Float, scaleRatio: Float, scale: Float) {
self.itemsCount = itemsCount
self.overlay = overlay
self.scaleRatio = scaleRatio
self.maxScale = scale
super.init()
}
required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
let itemsCount: Int
let overlay: Float // from 0 to 1
let maxScale: Float
let scaleRatio: Float
var additionScale = 1.0
var openAnimating = false
var dxOffset: Float = 0
init(itemsCount: Int, overlay: Float, scaleRatio: Float, scale: Float) {
self.itemsCount = itemsCount
self.overlay = overlay
self.scaleRatio = scaleRatio
maxScale = scale
super.init()
}
required init?(coder _: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
}
extension CollectionViewStackFlowLayout {
override func layoutAttributesForElementsInRect(rect: CGRect) -> [UICollectionViewLayoutAttributes]? {
let items = NSArray (array: super.layoutAttributesForElementsInRect(rect)!, copyItems: true)
var headerAttributes: UICollectionViewLayoutAttributes?
items.enumerateObjectsUsingBlock { (object, idex, stop) -> Void in
let attributes = object as! UICollectionViewLayoutAttributes
if attributes.representedElementKind == UICollectionElementKindSectionHeader {
headerAttributes = attributes
}
else {
self.updateCellAttributes(attributes, headerAttributes: headerAttributes)
}
}
return items as? [UICollectionViewLayoutAttributes]
}
func updateCellAttributes(attributes: UICollectionViewLayoutAttributes, headerAttributes: UICollectionViewLayoutAttributes?) {
guard let collectionView = self.collectionView else {
return;
}
let itemWidth = collectionView.bounds.size.width - collectionView.bounds.size.width * CGFloat(overlay)
let allWidth = itemWidth * CGFloat(itemsCount - 1)
// set contentOffset range
let contentOffsetX = min(max(0, collectionView.contentOffset.x), allWidth)
let scale = transformScale(attributes, allWidth: allWidth, offset: contentOffsetX)
let move = transformMove(attributes, itemWidth: itemWidth, offset: contentOffsetX)
attributes.transform = CGAffineTransformConcat(scale, move)
attributes.alpha = calculateAlpha(attributes, itemWidth: itemWidth, offset: contentOffsetX)
if additionScale > 0 && openAnimating {
additionScale -= 0.02
additionScale = additionScale < 0 ? 0 : additionScale
override func layoutAttributesForElements(in rect: CGRect) -> [UICollectionViewLayoutAttributes]? {
let items = NSArray(array: super.layoutAttributesForElements(in: rect)!, copyItems: true)
var headerAttributes: UICollectionViewLayoutAttributes?
items.enumerateObjects({ (object, _, _) -> Void in
let attributes = object as! UICollectionViewLayoutAttributes
if attributes.representedElementKind == UICollectionView.elementKindSectionHeader {
headerAttributes = attributes
} else {
self.updateCellAttributes(attributes, headerAttributes: headerAttributes)
}
})
return items as? [UICollectionViewLayoutAttributes]
}
func updateCellAttributes(_ attributes: UICollectionViewLayoutAttributes, headerAttributes _: UICollectionViewLayoutAttributes?) {
guard let collectionView = self.collectionView else {
return
}
let itemWidth = collectionView.bounds.size.width - collectionView.bounds.size.width * CGFloat(overlay)
let allWidth = itemWidth * CGFloat(itemsCount - 1)
// set contentOffset range
let contentOffsetX = min(max(0, collectionView.contentOffset.x), allWidth)
let scale = transformScale(attributes, allWidth: allWidth, offset: contentOffsetX)
let move = transformMove(attributes, itemWidth: itemWidth, offset: contentOffsetX)
attributes.transform = scale.concatenating(move)
attributes.alpha = calculateAlpha(attributes, itemWidth: itemWidth, offset: contentOffsetX)
if additionScale > 0 && openAnimating {
additionScale -= 0.02
additionScale = additionScale < 0 ? 0 : additionScale
}
attributes.zIndex = (attributes.indexPath as NSIndexPath).row
}
override func shouldInvalidateLayout(forBoundsChange _: CGRect) -> Bool {
return true
}
attributes.zIndex = attributes.indexPath.row
}
override func shouldInvalidateLayoutForBoundsChange(newBounds: CGRect) -> Bool {
return true
}
}
// MARK: helpers
extension CollectionViewStackFlowLayout {
private func transformScale(attributes: UICollectionViewLayoutAttributes,
allWidth: CGFloat,
offset: CGFloat) -> CGAffineTransform {
var maximum = CGFloat(maxScale) - CGFloat(itemsCount - attributes.indexPath.row) / CGFloat(scaleRatio)
maximum += CGFloat(1.0 - maximum) * CGFloat(additionScale)
var minimum = CGFloat(maxScale - 0.1) - CGFloat(itemsCount - attributes.indexPath.row) / CGFloat(scaleRatio)
minimum += CGFloat(1.0 - minimum) * CGFloat(additionScale)
var currentScale = (maximum + minimum) - (minimum + offset / (allWidth / (maximum - minimum)))
currentScale = max(min(maximum, currentScale), minimum)
return CGAffineTransformMakeScale(currentScale, currentScale)
}
private func transformMove(attributes: UICollectionViewLayoutAttributes,
itemWidth: CGFloat,
offset: CGFloat) -> CGAffineTransform {
var currentContentOffsetX = offset - itemWidth * CGFloat(attributes.indexPath.row)
currentContentOffsetX = min(max(currentContentOffsetX, 0),itemWidth)
var dx = (currentContentOffsetX / itemWidth)
if let collectionView = self.collectionView {
dx *= collectionView.bounds.size.width / 8.0
}
dx = currentContentOffsetX - dx
fileprivate func transformScale(_ attributes: UICollectionViewLayoutAttributes,
allWidth: CGFloat,
offset: CGFloat) -> CGAffineTransform {
var maximum = CGFloat(maxScale) - CGFloat(itemsCount - (attributes.indexPath as NSIndexPath).row) / CGFloat(scaleRatio)
maximum += CGFloat(1.0 - maximum) * CGFloat(additionScale)
return CGAffineTransformMakeTranslation(dx, 0)
}
private func calculateAlpha(attributes: UICollectionViewLayoutAttributes, itemWidth: CGFloat, offset: CGFloat) -> CGFloat {
var currentContentOffsetX = offset - itemWidth * CGFloat(attributes.indexPath.row)
currentContentOffsetX = min(max(currentContentOffsetX, 0),itemWidth)
let dx = (currentContentOffsetX / itemWidth)
return 1.0 - dx
}
var minimum = CGFloat(maxScale - 0.1) - CGFloat(itemsCount - (attributes.indexPath as NSIndexPath).row) / CGFloat(scaleRatio)
minimum += CGFloat(1.0 - minimum) * CGFloat(additionScale)
var currentScale = (maximum + minimum) - (minimum + offset / (allWidth / (maximum - minimum)))
currentScale = max(min(maximum, currentScale), minimum)
return CGAffineTransform(scaleX: currentScale, y: currentScale)
}
fileprivate func transformMove(_ attributes: UICollectionViewLayoutAttributes,
itemWidth: CGFloat,
offset: CGFloat) -> CGAffineTransform {
var currentContentOffsetX = offset - itemWidth * CGFloat((attributes.indexPath as NSIndexPath).row)
currentContentOffsetX = min(max(currentContentOffsetX, 0), itemWidth)
var dx = (currentContentOffsetX / itemWidth)
if let collectionView = self.collectionView {
dx *= collectionView.bounds.size.width / 8.0
}
dx = currentContentOffsetX - dx
return CGAffineTransform(translationX: dx, y: 0)
}
fileprivate func calculateAlpha(_ attributes: UICollectionViewLayoutAttributes, itemWidth: CGFloat, offset: CGFloat) -> CGFloat {
var currentContentOffsetX = offset - itemWidth * CGFloat((attributes.indexPath as NSIndexPath).row)
currentContentOffsetX = min(max(currentContentOffsetX, 0), itemWidth)
let dx = (currentContentOffsetX / itemWidth)
return 1.0 - dx
}
}
+121 -117
View File
@@ -22,146 +22,150 @@
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
// THE SOFTWARE.
import UIKit
/// UINavigationcontroller with animation show lists of UIViewControllers
public class NavigationStack: UINavigationController {
var overlay: Float = 0.8
var scaleRatio: Float = 14.0
var scaleValue: Float = 0.99
/// A floating-point value that determines the rate of deceleration after the user lifts their finger.
@IBInspectable public var decelerationRate: CGFloat = UIScrollViewDecelerationRateNormal
/// The color to use for the background of the lists of UIViewcontrollers.
@IBInspectable public var bgColor: UIColor = .blackColor()
/// The background UIView of the lists of UIViewcontrollers.
public var bgView: UIView? = nil
private var screens = [UIImage]()
/// The delegate of the navigation controller object. Use this instead delegate.
weak public var stackDelegate: UINavigationControllerDelegate?
/**
The initialized navigation controller object or nil if there was a problem initializing the object.
- parameter aDecoder: aDecoder
- returns: The initialized navigation controller object or nil if there was a problem initializing the object.
*/
public required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
delegate = self
}
/**
Initializes and returns a newly created navigation controller.
- parameter rootViewController: The view controller that resides at the bottom of the navigation stack.
- returns: The initialized navigation controller object or nil if there was a problem initializing the object.
*/
override init(rootViewController: UIViewController) {
super.init(rootViewController: rootViewController)
delegate = self
}
open class NavigationStack: UINavigationController {
var overlay: Float = 0.8
var scaleRatio: Float = 14.0
var scaleValue: Float = 0.99
/// A floating-point value that determines the rate of deceleration after the user lifts their finger.
@IBInspectable open var decelerationRate: CGFloat = UIScrollView.DecelerationRate.normal.rawValue
/// The color to use for the background of the lists of UIViewcontrollers.
@IBInspectable open var bgColor: UIColor = .black
/// The background UIView of the lists of UIViewcontrollers.
open var bgView: UIView?
fileprivate var screens = [UIImage]()
/// The delegate of the navigation controller object. Use this instead delegate.
open weak var stackDelegate: UINavigationControllerDelegate?
/**
The initialized navigation controller object or nil if there was a problem initializing the object.
- parameter aDecoder: aDecoder
- returns: The initialized navigation controller object or nil if there was a problem initializing the object.
*/
public required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
delegate = self
}
/**
Initializes and returns a newly created navigation controller.
- parameter rootViewController: The view controller that resides at the bottom of the navigation stack.
- returns: The initialized navigation controller object or nil if there was a problem initializing the object.
*/
public override init(rootViewController: UIViewController) {
super.init(rootViewController: rootViewController)
delegate = self
}
/**
Necessary to prevent a crash
*/
public override init(nibName nibNameOrNil: String?, bundle nibBundleOrNil: Bundle?) {
super.init(nibName: nibNameOrNil, bundle: nibBundleOrNil)
}
}
// MARK: pulbic methods
extension NavigationStack {
/**
Show list of ViewControllers.
*/
public func showControllers() {
if screens.count == 0 {
return
}
var allScreens = screens
allScreens.append(view.takeScreenshot())
let collectioView = CollectionStackViewController(images: allScreens,
delegate: self,
overlay: overlay,
scaleRatio: scaleRatio,
scaleValue: scaleValue,
bgColor: bgColor,
bgView: bgView,
decelerationRate: decelerationRate)
presentViewController(collectioView, animated: false, completion: nil)
}
}
/**
Show list of ViewControllers.
*/
public func showControllers() {
if screens.count == 0 {
return
}
var allScreens = screens
allScreens.append(view.takeScreenshot())
let collectioView = CollectionStackViewController(images: allScreens,
delegate: self,
overlay: overlay,
scaleRatio: scaleRatio,
scaleValue: scaleValue,
bgColor: bgColor,
bgView: bgView,
decelerationRate: decelerationRate)
present(collectioView, animated: false, completion: nil)
}
}
// MARK: UINavigationControllerDelegate
extension NavigationStack: UINavigationControllerDelegate {
public func navigationController(navigationController: UINavigationController,
willShowViewController viewController: UIViewController,
animated: Bool) {
stackDelegate?.navigationController?(navigationController, willShowViewController: viewController, animated: animated)
if navigationController.viewControllers.count > screens.count + 1 {
screens.append(view.takeScreenshot())
} else
if navigationController.viewControllers.count == screens.count && screens.count > 0 {
screens.removeLast()
}
}
public func navigationController(navigationController: UINavigationController, didShowViewController viewController: UIViewController, animated: Bool) {
stackDelegate?.navigationController?(navigationController, didShowViewController: viewController, animated: animated)
}
// ???
// public func navigationControllerSupportedInterfaceOrientations(navigationController: UINavigationController) -> UIInterfaceOrientationMask {
public func navigationController(_ navigationController: UINavigationController,
willShow viewController: UIViewController,
animated: Bool) {
stackDelegate?.navigationController?(navigationController, willShow: viewController, animated: animated)
if navigationController.viewControllers.count > screens.count + 1 {
screens.append(view.takeScreenshot())
} else
if navigationController.viewControllers.count == screens.count && screens.count > 0 {
screens.removeLast()
}
}
public func navigationController(_ navigationController: UINavigationController, didShow viewController: UIViewController, animated: Bool) {
stackDelegate?.navigationController?(navigationController, didShow: viewController, animated: animated)
}
// ???
// public func navigationControllerSupportedInterfaceOrientations(navigationController: UINavigationController) -> UIInterfaceOrientationMask {
// return stackDelegate?.navigationControllerSupportedInterfaceOrientations?(navigationController)
// }
// ???
// optional public func navigationControllerPreferredInterfaceOrientationForPresentation(navigationController: UINavigationController) -> UIInterfaceOrientation
//
// }
public func navigationController(navigationController: UINavigationController, interactionControllerForAnimationController animationController: UIViewControllerAnimatedTransitioning) -> UIViewControllerInteractiveTransitioning? {
return stackDelegate?.navigationController?(navigationController, interactionControllerForAnimationController: animationController)
}
// ???
// optional public func navigationControllerPreferredInterfaceOrientationForPresentation(navigationController: UINavigationController) -> UIInterfaceOrientation
//
public func navigationController(navigationController: UINavigationController, animationControllerForOperation operation: UINavigationControllerOperation, fromViewController fromVC: UIViewController, toViewController toVC: UIViewController) -> UIViewControllerAnimatedTransitioning? {
return stackDelegate?.navigationController?(navigationController, animationControllerForOperation: operation, fromViewController: fromVC, toViewController: toVC)
}
public func navigationController(_ navigationController: UINavigationController, interactionControllerFor animationController: UIViewControllerAnimatedTransitioning) -> UIViewControllerInteractiveTransitioning? {
return stackDelegate?.navigationController?(navigationController, interactionControllerFor: animationController)
}
public func navigationController(_ navigationController: UINavigationController, animationControllerFor operation: UINavigationController.Operation, from fromVC: UIViewController, to toVC: UIViewController) -> UIViewControllerAnimatedTransitioning? {
return stackDelegate?.navigationController?(navigationController, animationControllerFor: operation, from: fromVC, to: toVC)
}
}
extension NavigationStack: CollectionStackViewControllerDelegate {
func controllerDidSelected(index index: Int) {
let newViewControllers = Array(viewControllers[0...index])
setViewControllers(newViewControllers, animated: false)
screens.removeRange(index..<screens.count)
}
func controllerDidSelected(index: Int) {
let newViewControllers = Array(viewControllers[0 ... index])
setViewControllers(newViewControllers, animated: false)
screens.removeSubrange(index ..< screens.count)
}
}
// MARK: UIView
extension UIView {
func takeScreenshot() -> UIImage {
UIGraphicsBeginImageContextWithOptions(self.bounds.size, false, UIScreen.mainScreen().scale)
drawViewHierarchyInRect(self.bounds, afterScreenUpdates: true)
let image = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
return image
}
func takeScreenshot() -> UIImage {
UIGraphicsBeginImageContextWithOptions(bounds.size, false, UIScreen.main.scale)
layer.render(in: UIGraphicsGetCurrentContext()!)
let image = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
return image!
}
}
BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

+5 -5
View File
@@ -13,12 +13,12 @@
<a title="Classes Reference"></a>
<header>
<div class="content-wrapper">
<p><a href="index.html">NavigationStack Docs</a> (69% documented)</p>
<p><a href="index.html">NavigationStackDemo Docs</a> (69% documented)</p>
</div>
</header>
<div class="content-wrapper">
<p id="breadcrumbs">
<a href="index.html">NavigationStack Reference</a>
<a href="index.html">NavigationStackDemo Reference</a>
<img id="carat" src="img/carat.png" />
Classes Reference
</p>
@@ -49,9 +49,9 @@
<li class="item">
<div>
<code>
<a name="/s:C15NavigationStack15NavigationStack"></a>
<a name="/s:C19NavigationStackDemo15NavigationStack"></a>
<a name="//apple_ref/swift/Class/NavigationStack" class="dashAnchor"></a>
<a class="token" href="#/s:C15NavigationStack15NavigationStack">NavigationStack</a>
<a class="token" href="#/s:C19NavigationStackDemo15NavigationStack">NavigationStack</a>
</code>
</div>
<div class="height-container">
@@ -79,7 +79,7 @@
</section>
</section>
<section id="footer">
<p>&copy; 2016 <a class="link" href="https://github.com/Ramotion/navigation-stack" target="_blank" rel="external">AlexKalinkin</a>. All rights reserved. (Last updated: 2016-06-03)</p>
<p>&copy; 2016 <a class="link" href="https://github.com/Ramotion/navigation-stack" target="_blank" rel="external">AlexKalinkin</a>. All rights reserved. (Last updated: 2016-06-10)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.5.0</a>, a <a class="link" href="http://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</section>
</article>
+15 -15
View File
@@ -14,12 +14,12 @@
<a title="NavigationStack Class Reference"></a>
<header>
<div class="content-wrapper">
<p><a href="../index.html">NavigationStack Docs</a> (69% documented)</p>
<p><a href="../index.html">NavigationStackDemo Docs</a> (69% documented)</p>
</div>
</header>
<div class="content-wrapper">
<p id="breadcrumbs">
<a href="../index.html">NavigationStack Reference</a>
<a href="../index.html">NavigationStackDemo Reference</a>
<img id="carat" src="../img/carat.png" />
NavigationStack Class Reference
</p>
@@ -56,9 +56,9 @@
<li class="item">
<div>
<code>
<a name="/s:vC15NavigationStack15NavigationStack16decelerationRateV12CoreGraphics7CGFloat"></a>
<a name="/s:vC19NavigationStackDemo15NavigationStack16decelerationRateV12CoreGraphics7CGFloat"></a>
<a name="//apple_ref/swift/Property/decelerationRate" class="dashAnchor"></a>
<a class="token" href="#/s:vC15NavigationStack15NavigationStack16decelerationRateV12CoreGraphics7CGFloat">decelerationRate</a>
<a class="token" href="#/s:vC19NavigationStackDemo15NavigationStack16decelerationRateV12CoreGraphics7CGFloat">decelerationRate</a>
</code>
</div>
<div class="height-container">
@@ -83,9 +83,9 @@
<li class="item">
<div>
<code>
<a name="/s:vC15NavigationStack15NavigationStack7bgColorCSo7UIColor"></a>
<a name="/s:vC19NavigationStackDemo15NavigationStack7bgColorCSo7UIColor"></a>
<a name="//apple_ref/swift/Property/bgColor" class="dashAnchor"></a>
<a class="token" href="#/s:vC15NavigationStack15NavigationStack7bgColorCSo7UIColor">bgColor</a>
<a class="token" href="#/s:vC19NavigationStackDemo15NavigationStack7bgColorCSo7UIColor">bgColor</a>
</code>
</div>
<div class="height-container">
@@ -110,9 +110,9 @@
<li class="item">
<div>
<code>
<a name="/s:vC15NavigationStack15NavigationStack6bgViewGSqCSo6UIView_"></a>
<a name="/s:vC19NavigationStackDemo15NavigationStack6bgViewGSqCSo6UIView_"></a>
<a name="//apple_ref/swift/Property/bgView" class="dashAnchor"></a>
<a class="token" href="#/s:vC15NavigationStack15NavigationStack6bgViewGSqCSo6UIView_">bgView</a>
<a class="token" href="#/s:vC19NavigationStackDemo15NavigationStack6bgViewGSqCSo6UIView_">bgView</a>
</code>
</div>
<div class="height-container">
@@ -137,9 +137,9 @@
<li class="item">
<div>
<code>
<a name="/s:vC15NavigationStack15NavigationStack13stackDelegateXwGSqPSo30UINavigationControllerDelegate__"></a>
<a name="/s:vC19NavigationStackDemo15NavigationStack13stackDelegateXwGSqPSo30UINavigationControllerDelegate__"></a>
<a name="//apple_ref/swift/Property/stackDelegate" class="dashAnchor"></a>
<a class="token" href="#/s:vC15NavigationStack15NavigationStack13stackDelegateXwGSqPSo30UINavigationControllerDelegate__">stackDelegate</a>
<a class="token" href="#/s:vC19NavigationStackDemo15NavigationStack13stackDelegateXwGSqPSo30UINavigationControllerDelegate__">stackDelegate</a>
</code>
</div>
<div class="height-container">
@@ -164,9 +164,9 @@
<li class="item">
<div>
<code>
<a name="/s:FC15NavigationStack15NavigationStackcFT5coderCSo7NSCoder_GSqS0__"></a>
<a name="/s:FC19NavigationStackDemo15NavigationStackcFT5coderCSo7NSCoder_GSqS0__"></a>
<a name="//apple_ref/swift/Method/init(coder:)" class="dashAnchor"></a>
<a class="token" href="#/s:FC15NavigationStack15NavigationStackcFT5coderCSo7NSCoder_GSqS0__">init(coder:)</a>
<a class="token" href="#/s:FC19NavigationStackDemo15NavigationStackcFT5coderCSo7NSCoder_GSqS0__">init(coder:)</a>
</code>
</div>
<div class="height-container">
@@ -220,9 +220,9 @@
<li class="item">
<div>
<code>
<a name="/s:FC15NavigationStack15NavigationStack15showControllersFT_T_"></a>
<a name="/s:FC19NavigationStackDemo15NavigationStack15showControllersFT_T_"></a>
<a name="//apple_ref/swift/Method/showControllers()" class="dashAnchor"></a>
<a class="token" href="#/s:FC15NavigationStack15NavigationStack15showControllersFT_T_">showControllers()</a>
<a class="token" href="#/s:FC19NavigationStackDemo15NavigationStack15showControllersFT_T_">showControllers()</a>
</code>
</div>
<div class="height-container">
@@ -249,7 +249,7 @@
</section>
</section>
<section id="footer">
<p>&copy; 2016 <a class="link" href="https://github.com/Ramotion/navigation-stack" target="_blank" rel="external">AlexKalinkin</a>. All rights reserved. (Last updated: 2016-06-03)</p>
<p>&copy; 2016 <a class="link" href="https://github.com/Ramotion/navigation-stack" target="_blank" rel="external">AlexKalinkin</a>. All rights reserved. (Last updated: 2016-06-10)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.5.0</a>, a <a class="link" href="http://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</section>
</article>
Binary file not shown.
@@ -3,9 +3,9 @@
<plist version="1.0">
<dict>
<key>CFBundleIdentifier</key>
<string>com.jazzy.navigationstack</string>
<string>com.jazzy.navigationstackdemo</string>
<key>CFBundleName</key>
<string>NavigationStack</string>
<string>NavigationStackDemo</string>
<key>DocSetPlatformFamily</key>
<string>jazzy</string>
<key>isDashDocset</key>
@@ -13,12 +13,12 @@
<a title="Classes Reference"></a>
<header>
<div class="content-wrapper">
<p><a href="index.html">NavigationStack Docs</a> (69% documented)</p>
<p><a href="index.html">NavigationStackDemo Docs</a> (69% documented)</p>
</div>
</header>
<div class="content-wrapper">
<p id="breadcrumbs">
<a href="index.html">NavigationStack Reference</a>
<a href="index.html">NavigationStackDemo Reference</a>
<img id="carat" src="img/carat.png" />
Classes Reference
</p>
@@ -49,9 +49,9 @@
<li class="item">
<div>
<code>
<a name="/s:C15NavigationStack15NavigationStack"></a>
<a name="/s:C19NavigationStackDemo15NavigationStack"></a>
<a name="//apple_ref/swift/Class/NavigationStack" class="dashAnchor"></a>
<a class="token" href="#/s:C15NavigationStack15NavigationStack">NavigationStack</a>
<a class="token" href="#/s:C19NavigationStackDemo15NavigationStack">NavigationStack</a>
</code>
</div>
<div class="height-container">
@@ -79,7 +79,7 @@
</section>
</section>
<section id="footer">
<p>&copy; 2016 <a class="link" href="https://github.com/Ramotion/navigation-stack" target="_blank" rel="external">AlexKalinkin</a>. All rights reserved. (Last updated: 2016-06-03)</p>
<p>&copy; 2016 <a class="link" href="https://github.com/Ramotion/navigation-stack" target="_blank" rel="external">AlexKalinkin</a>. All rights reserved. (Last updated: 2016-06-10)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.5.0</a>, a <a class="link" href="http://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</section>
</article>
@@ -14,12 +14,12 @@
<a title="NavigationStack Class Reference"></a>
<header>
<div class="content-wrapper">
<p><a href="../index.html">NavigationStack Docs</a> (69% documented)</p>
<p><a href="../index.html">NavigationStackDemo Docs</a> (69% documented)</p>
</div>
</header>
<div class="content-wrapper">
<p id="breadcrumbs">
<a href="../index.html">NavigationStack Reference</a>
<a href="../index.html">NavigationStackDemo Reference</a>
<img id="carat" src="../img/carat.png" />
NavigationStack Class Reference
</p>
@@ -56,9 +56,9 @@
<li class="item">
<div>
<code>
<a name="/s:vC15NavigationStack15NavigationStack16decelerationRateV12CoreGraphics7CGFloat"></a>
<a name="/s:vC19NavigationStackDemo15NavigationStack16decelerationRateV12CoreGraphics7CGFloat"></a>
<a name="//apple_ref/swift/Property/decelerationRate" class="dashAnchor"></a>
<a class="token" href="#/s:vC15NavigationStack15NavigationStack16decelerationRateV12CoreGraphics7CGFloat">decelerationRate</a>
<a class="token" href="#/s:vC19NavigationStackDemo15NavigationStack16decelerationRateV12CoreGraphics7CGFloat">decelerationRate</a>
</code>
</div>
<div class="height-container">
@@ -83,9 +83,9 @@
<li class="item">
<div>
<code>
<a name="/s:vC15NavigationStack15NavigationStack7bgColorCSo7UIColor"></a>
<a name="/s:vC19NavigationStackDemo15NavigationStack7bgColorCSo7UIColor"></a>
<a name="//apple_ref/swift/Property/bgColor" class="dashAnchor"></a>
<a class="token" href="#/s:vC15NavigationStack15NavigationStack7bgColorCSo7UIColor">bgColor</a>
<a class="token" href="#/s:vC19NavigationStackDemo15NavigationStack7bgColorCSo7UIColor">bgColor</a>
</code>
</div>
<div class="height-container">
@@ -110,9 +110,9 @@
<li class="item">
<div>
<code>
<a name="/s:vC15NavigationStack15NavigationStack6bgViewGSqCSo6UIView_"></a>
<a name="/s:vC19NavigationStackDemo15NavigationStack6bgViewGSqCSo6UIView_"></a>
<a name="//apple_ref/swift/Property/bgView" class="dashAnchor"></a>
<a class="token" href="#/s:vC15NavigationStack15NavigationStack6bgViewGSqCSo6UIView_">bgView</a>
<a class="token" href="#/s:vC19NavigationStackDemo15NavigationStack6bgViewGSqCSo6UIView_">bgView</a>
</code>
</div>
<div class="height-container">
@@ -137,9 +137,9 @@
<li class="item">
<div>
<code>
<a name="/s:vC15NavigationStack15NavigationStack13stackDelegateXwGSqPSo30UINavigationControllerDelegate__"></a>
<a name="/s:vC19NavigationStackDemo15NavigationStack13stackDelegateXwGSqPSo30UINavigationControllerDelegate__"></a>
<a name="//apple_ref/swift/Property/stackDelegate" class="dashAnchor"></a>
<a class="token" href="#/s:vC15NavigationStack15NavigationStack13stackDelegateXwGSqPSo30UINavigationControllerDelegate__">stackDelegate</a>
<a class="token" href="#/s:vC19NavigationStackDemo15NavigationStack13stackDelegateXwGSqPSo30UINavigationControllerDelegate__">stackDelegate</a>
</code>
</div>
<div class="height-container">
@@ -164,9 +164,9 @@
<li class="item">
<div>
<code>
<a name="/s:FC15NavigationStack15NavigationStackcFT5coderCSo7NSCoder_GSqS0__"></a>
<a name="/s:FC19NavigationStackDemo15NavigationStackcFT5coderCSo7NSCoder_GSqS0__"></a>
<a name="//apple_ref/swift/Method/init(coder:)" class="dashAnchor"></a>
<a class="token" href="#/s:FC15NavigationStack15NavigationStackcFT5coderCSo7NSCoder_GSqS0__">init(coder:)</a>
<a class="token" href="#/s:FC19NavigationStackDemo15NavigationStackcFT5coderCSo7NSCoder_GSqS0__">init(coder:)</a>
</code>
</div>
<div class="height-container">
@@ -220,9 +220,9 @@
<li class="item">
<div>
<code>
<a name="/s:FC15NavigationStack15NavigationStack15showControllersFT_T_"></a>
<a name="/s:FC19NavigationStackDemo15NavigationStack15showControllersFT_T_"></a>
<a name="//apple_ref/swift/Method/showControllers()" class="dashAnchor"></a>
<a class="token" href="#/s:FC15NavigationStack15NavigationStack15showControllersFT_T_">showControllers()</a>
<a class="token" href="#/s:FC19NavigationStackDemo15NavigationStack15showControllersFT_T_">showControllers()</a>
</code>
</div>
<div class="height-container">
@@ -249,7 +249,7 @@
</section>
</section>
<section id="footer">
<p>&copy; 2016 <a class="link" href="https://github.com/Ramotion/navigation-stack" target="_blank" rel="external">AlexKalinkin</a>. All rights reserved. (Last updated: 2016-06-03)</p>
<p>&copy; 2016 <a class="link" href="https://github.com/Ramotion/navigation-stack" target="_blank" rel="external">AlexKalinkin</a>. All rights reserved. (Last updated: 2016-06-10)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.5.0</a>, a <a class="link" href="http://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</section>
</article>
@@ -1,7 +1,7 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>NavigationStack Reference</title>
<title>NavigationStackDemo Reference</title>
<link rel="stylesheet" type="text/css" href="css/jazzy.css" />
<link rel="stylesheet" type="text/css" href="css/highlight.css" />
<meta charset='utf-8'>
@@ -10,17 +10,17 @@
</head>
<body>
<a title="NavigationStack Reference"></a>
<a title="NavigationStackDemo Reference"></a>
<header>
<div class="content-wrapper">
<p><a href="index.html">NavigationStack Docs</a> (69% documented)</p>
<p><a href="index.html">NavigationStackDemo Docs</a> (69% documented)</p>
</div>
</header>
<div class="content-wrapper">
<p id="breadcrumbs">
<a href="index.html">NavigationStack Reference</a>
<a href="index.html">NavigationStackDemo Reference</a>
<img id="carat" src="img/carat.png" />
NavigationStack Reference
NavigationStackDemo Reference
</p>
</div>
<div class="content-wrapper">
@@ -40,18 +40,19 @@
<section>
<section class="section">
<p><img src="./header.png" alt="header"></p>
<p><img src="https://raw.githubusercontent.com/Ramotion/navigation-stack/master/header.png" alt="header"></p>
<a href='#navigation_stack' class='anchor' aria-hidden=true><span class="header-anchor"></span></a><h1 id='navigation_stack'>navigation-stack</h1>
<p><a href="http://twitter.com/Ramotion"><img src="https://img.shields.io/badge/Twitter-@Ramotion-blue.svg?style=flat" alt="Twitter"></a>
<a href="https://cocoapods.org/pods/Navigation-stack"><img src="https://img.shields.io/cocoapods/p/Navigation-stack.svg" alt="CocoaPods"></a>
<a href="http://cocoapods.org/pods/Navigation-stack"><img src="https://img.shields.io/cocoapods/v/Navigation-stack.svg" alt="CocoaPods"></a>
<a href="https://cdn.rawgit.com/Ramotion/navigation-stack/master/docs/index.html"><img src="https://img.shields.io/cocoapods/metrics/doc-percent/Navigation-stack.svg" alt="CocoaPods"></a>
<a href="https://travis-ci.org/Ramotion/navigation-stack"><img src="https://img.shields.io/travis/Ramotion/navigation-stack.svg" alt="Travis"></a>
<a href="https://codebeat.co/projects/github-com-ramotion-navigation-stack"><img src="https://codebeat.co/badges/c322a039-b06b-46d9-bf40-e48cf0365b97" alt="codebeat badge"></a>
<a href="https://github.com/Ramotion/navigation-stack"><img src="https://img.shields.io/badge/Carthage-compatible-4BC51D.svg?style=flat" alt="Carthage compatible"></a></p>
<p><a href="https://dribbble.com/shots/2583175-Navigation-Stack-Swift-Open-Source">shot on dribbble</a>:
<img src="Navigation-Stack.gif" alt="Animation"></p>
<img src="https://raw.githubusercontent.com/Ramotion/navigation-stack/master/Navigation-Stack.gif" alt="Animation"></p>
<p>The <a href="https://store.ramotion.com/product/iphone-6-mockups?utm_source=gthb&amp;utm_medium=special&amp;utm_campaign=navigation-stack">iPhone mockup</a> available <a href="https://store.ramotion.com/product/iphone-6-mockups?utm_source=gthb&amp;utm_medium=special&amp;utm_campaign=navigation-stack">here</a>.</p>
<a href='#requirements' class='anchor' aria-hidden=true><span class="header-anchor"></span></a><h2 id='requirements'>Requirements</h2>
@@ -113,7 +114,7 @@ See our other <a href="https://github.com/ramotion">open-source projects</a> or
</section>
</section>
<section id="footer">
<p>&copy; 2016 <a class="link" href="https://github.com/Ramotion/navigation-stack" target="_blank" rel="external">AlexKalinkin</a>. All rights reserved. (Last updated: 2016-06-03)</p>
<p>&copy; 2016 <a class="link" href="https://github.com/Ramotion/navigation-stack" target="_blank" rel="external">AlexKalinkin</a>. All rights reserved. (Last updated: 2016-06-10)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.5.0</a>, a <a class="link" href="http://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</section>
</article>
Binary file not shown.
+9 -8
View File
@@ -1,7 +1,7 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>NavigationStack Reference</title>
<title>NavigationStackDemo Reference</title>
<link rel="stylesheet" type="text/css" href="css/jazzy.css" />
<link rel="stylesheet" type="text/css" href="css/highlight.css" />
<meta charset='utf-8'>
@@ -10,17 +10,17 @@
</head>
<body>
<a title="NavigationStack Reference"></a>
<a title="NavigationStackDemo Reference"></a>
<header>
<div class="content-wrapper">
<p><a href="index.html">NavigationStack Docs</a> (69% documented)</p>
<p><a href="index.html">NavigationStackDemo Docs</a> (69% documented)</p>
</div>
</header>
<div class="content-wrapper">
<p id="breadcrumbs">
<a href="index.html">NavigationStack Reference</a>
<a href="index.html">NavigationStackDemo Reference</a>
<img id="carat" src="img/carat.png" />
NavigationStack Reference
NavigationStackDemo Reference
</p>
</div>
<div class="content-wrapper">
@@ -40,18 +40,19 @@
<section>
<section class="section">
<p><img src="./header.png" alt="header"></p>
<p><img src="https://raw.githubusercontent.com/Ramotion/navigation-stack/master/header.png" alt="header"></p>
<a href='#navigation_stack' class='anchor' aria-hidden=true><span class="header-anchor"></span></a><h1 id='navigation_stack'>navigation-stack</h1>
<p><a href="http://twitter.com/Ramotion"><img src="https://img.shields.io/badge/Twitter-@Ramotion-blue.svg?style=flat" alt="Twitter"></a>
<a href="https://cocoapods.org/pods/Navigation-stack"><img src="https://img.shields.io/cocoapods/p/Navigation-stack.svg" alt="CocoaPods"></a>
<a href="http://cocoapods.org/pods/Navigation-stack"><img src="https://img.shields.io/cocoapods/v/Navigation-stack.svg" alt="CocoaPods"></a>
<a href="https://cdn.combinatronics.com/Ramotion/navigation-stack/master/docs/index.html"><img src="https://img.shields.io/cocoapods/metrics/doc-percent/Navigation-stack.svg" alt="CocoaPods"></a>
<a href="https://travis-ci.org/Ramotion/navigation-stack"><img src="https://img.shields.io/travis/Ramotion/navigation-stack.svg" alt="Travis"></a>
<a href="https://codebeat.co/projects/github-com-ramotion-navigation-stack"><img src="https://codebeat.co/badges/c322a039-b06b-46d9-bf40-e48cf0365b97" alt="codebeat badge"></a>
<a href="https://github.com/Ramotion/navigation-stack"><img src="https://img.shields.io/badge/Carthage-compatible-4BC51D.svg?style=flat" alt="Carthage compatible"></a></p>
<p><a href="https://dribbble.com/shots/2583175-Navigation-Stack-Swift-Open-Source">shot on dribbble</a>:
<img src="Navigation-Stack.gif" alt="Animation"></p>
<img src="https://raw.githubusercontent.com/Ramotion/navigation-stack/master/Navigation-Stack.gif" alt="Animation"></p>
<p>The <a href="https://store.ramotion.com/product/iphone-6-mockups?utm_source=gthb&amp;utm_medium=special&amp;utm_campaign=navigation-stack">iPhone mockup</a> available <a href="https://store.ramotion.com/product/iphone-6-mockups?utm_source=gthb&amp;utm_medium=special&amp;utm_campaign=navigation-stack">here</a>.</p>
<a href='#requirements' class='anchor' aria-hidden=true><span class="header-anchor"></span></a><h2 id='requirements'>Requirements</h2>
@@ -113,7 +114,7 @@ See our other <a href="https://github.com/ramotion">open-source projects</a> or
</section>
</section>
<section id="footer">
<p>&copy; 2016 <a class="link" href="https://github.com/Ramotion/navigation-stack" target="_blank" rel="external">AlexKalinkin</a>. All rights reserved. (Last updated: 2016-06-03)</p>
<p>&copy; 2016 <a class="link" href="https://github.com/Ramotion/navigation-stack" target="_blank" rel="external">AlexKalinkin</a>. All rights reserved. (Last updated: 2016-06-10)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.5.0</a>, a <a class="link" href="http://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</section>
</article>
Binary file not shown.

After

Width:  |  Height:  |  Size: 11 MiB