157 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
Alex.k c6bd3d85a8 added docs 2016-06-03 16:41:01 +03:00
Alex.k 4733501e56 Merge branch 'master' of https://github.com/Ramotion/navigation-stack 2016-06-03 16:25:44 +03:00
Alex.k df6b401580 added docs 2016-06-03 16:25:37 +03:00
Alex 1c43dc8316 Update README.md 2016-06-02 16:37:54 +03:00
Alex.k 50eb4f6118 update travis and readme 2016-06-01 14:38:02 +03:00
Alex.k 8852b680a3 shared scheme 2016-06-01 12:15:31 +03:00
Alex.k 37bed8284e update readme and podspec 2016-06-01 09:21:13 +03:00
Alex e161807bef Merge pull request #5 from durul/master
added blurEffect
2016-06-01 06:15:14 +00:00
durul 9b0371b579 added blurEffect
added blurEffect
2016-05-31 13:07:32 -04:00
Alex 220dcd062d Update README.md 2016-04-14 09:40:14 +03:00
Alex.k 7c6d3c9652 update podspec 2016-04-14 09:38:09 +03:00
Alex f10317cef2 Merge pull request #4 from AFcgi/master
[FIX] unbalanced calls to begin/end appearance transitions issue
2016-04-14 09:36:02 +03:00
cgi 74d58700d0 [FIX] unbalanced calls to begin/end appearance transitions issue 2016-04-13 21:35:31 +02:00
Alex.k a8621a582f update podspec 2016-04-12 09:52:44 +03:00
Alex.k c615143b62 fixed log warning 2016-04-12 09:49:57 +03:00
Alex 8049487784 Merge pull request #3 from AFcgi/develop
Add backgroundView property for background image support
2016-04-12 09:32:46 +03:00
cgi 738e47c739 [ADD] background view property
[FIX] delegate issue
2016-04-11 23:08:56 +02:00
cgi 28d675b1ee [CHANGE] inspectable are public 2016-04-11 08:57:17 +02:00
Alex eba81a42ac Update README.md 2016-03-11 16:53:48 +03:00
Alex.k 7fbb5c1e2d Merge branch 'master' of https://github.com/Ramotion/navigation-stack 2016-03-11 16:47:34 +03:00
Alex.k 580b63452d added contributing file 2016-03-11 16:47:29 +03:00
Alex aa4aa7a6be Update README.md 2016-03-11 16:37:52 +03:00
Alex e2ce8216ac Update README.md 2016-03-11 16:36:36 +03:00
Alex 3d593a2219 Update README.md 2016-03-11 16:32:02 +03:00
Alex.k a42ee4bed4 Merge branch 'master' of https://github.com/Ramotion/navigation-stack 2016-03-11 16:29:39 +03:00
Alex.k e4f1a6612e Changed header 2016-03-11 16:29:34 +03:00
Alex c51ea3abef Update README.md 2016-03-11 16:18:10 +03:00
Alex.k 118dfcbd46 Merge branch 'master' of https://github.com/Ramotion/navigation-stack 2016-03-11 16:12:10 +03:00
Alex.k 0fdbc891c1 added gif 2016-03-11 16:12:02 +03:00
Alex 7220458d20 Update README.md 2016-03-09 10:53:20 +03:00
Alex.k daf8d76b23 update navigation stack 2016-03-05 15:13:40 +03:00
Alex.k 77786eab55 mini fixing 2016-03-05 15:11:14 +03:00
Alex.k 8348afccb3 added search bar 2016-03-05 14:07:42 +03:00
Alex.k 442308745d fixed design bugs 2016-03-05 12:40:16 +03:00
Alex.k 56b308c5bd added design for fifth screen 2016-03-05 11:58:12 +03:00
Alex.k 21c6ac0880 added design for four viewConroller 2016-03-05 11:44:57 +03:00
Alex.k 3e714b625a Third screen design 2016-03-05 11:27:52 +03:00
Alex.k 2be30cd709 added design second screen 2016-03-05 10:39:16 +03:00
Alex.k 6767f63014 added design for first screen 2016-03-04 17:55:29 +03:00
Alex c5c04ee9c7 Update README.md 2016-03-03 11:18:49 +03:00
Alex.k ef9ed5a744 code style improved 2016-03-03 11:11:54 +03:00
Alex.k 14e7484d00 Merge branch 'develop' 2016-03-03 11:01:08 +03:00
Alex.k 17591cee6e code style improved 2016-03-03 11:00:41 +03:00
Alex d3be76bd43 Update README.md 2016-03-02 17:49:18 +03:00
Alex.k 6c62c98bc1 create new scheme 2016-03-02 17:17:03 +03:00
Alex.k 9e320efc12 update travis file 2016-03-02 17:08:34 +03:00
Alex.k d438d82eb5 update travis file 2016-03-02 17:07:08 +03:00
Alex.k 4cc6f2005a remove ui tests 2016-03-02 16:44:09 +03:00
Alex.k 575732700d change developmentTeam 2016-03-02 16:14:51 +03:00
Alex.k 34181c38db update travis file 2016-03-02 15:20:26 +03:00
Alex.k 77b5eb9bc4 remove xcode_sdk: iphonesimulator 2016-03-02 15:14:48 +03:00
Alex.k 7d347a259b improves 2016-03-02 15:07:47 +03:00
Alex.k d8b1b2e6a3 smal improves 2016-03-02 15:00:02 +03:00
Alex.k f8282e596d added files to test 2016-03-02 14:37:45 +03:00
Alex.k 76e53c5509 added files 2016-03-02 14:29:31 +03:00
Alex.k 487feddd74 remove files 2016-03-02 14:27:19 +03:00
Alex.k a804d1d4e9 small fixing 2016-03-02 14:25:13 +03:00
Alex.k 62314e6c29 Merge branch 'master' of https://github.com/Ramotion/navigation-stack 2016-03-02 14:15:55 +03:00
Alex.k 1251dd6660 added travis file
shared scheme
2016-03-02 14:15:49 +03:00
Alex 51b848b939 Update README.md 2016-03-02 12:37:42 +03:00
Alex.k 3da572c9b7 update podspec 2016-03-02 12:27:17 +03:00
Alex.k f3779c3d51 added podspec 2016-03-02 12:15:34 +03:00
135 changed files with 4545 additions and 2769 deletions
+1
View File
@@ -0,0 +1 @@
4.2
+11
View File
@@ -0,0 +1,11 @@
osx_image: xcode9.2
language: objective-c
xcode_project: NavigationStackDemo.xcodeproj
xcode_scheme: NavigationStack
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

+33
View File
@@ -0,0 +1,33 @@
# Contributing to a Project
Now that youve found the material for understanding the project, here is how you can take action.
### Create an Issue
If you find a bug in a project youre using (and you dont know how to fix it), have trouble following the documentation or have a question about the project create an issue! Theres nothing to it and whatever issue youre having, youre likely not the only one, so others will find your issue helpful, too. For more information on how issues work, check out our Issues guide.
#### Issues Pro Tips
Check existing issues for your issue. Duplicating an issue is slower for both parties so search through open and closed issues to see if what youre running into has been addressed already.
Be clear about what your problem is: what was the expected outcome, what happened instead? Detail how someone else can recreate the problem.
Link to demos recreating the problem on things like JSFiddle or CodePen.
Include system details like what the browser, library or operating system youre using and its version.
Paste error output or logs in your issue or in a Gist. If pasting them in the issue, wrap it in three backticks: ``` so that it renders nicely.
### Pull Request
If youre able to patch the bug or add the feature yourself fantastic, make a pull request with the code! Be sure youve read any documents on contributing, understand the license and have signed a CLA if required. Once youve submitted a pull request the maintainer(s) can compare your branch to the existing one and decide whether or not to incorporate (pull in) your changes.
#### Pull Request Pro Tips
Fork the repository and clone it locally. Connect your local to the original upstream repository by adding it as a remote. Pull in changes from upstream often so that you stay up to date so that when you submit your pull request, merge conflicts will be less likely. See more detailed instructions here.
Create a branch for your edits.
Be clear about what problem is occurring and how someone can recreate that problem or why your feature will help. Then be equally as clear about the steps you took to make your changes.
Its best to test. Run your changes against any existing tests if they exist and create new ones when needed. Whether tests exist or not, make sure your changes dont break the existing project.
Include screenshots of the before and after if your changes include differences in HTML/CSS. Drag and drop the images into the body of your pull request.
Contribute in the style of the project to the best of your abilities. This may mean using indents, semi colons or comments differently than you would in your own repository, but makes it easier for the maintainer to merge, others to understand and maintain in the future.
#### Open Pull Requests
Once youve opened a pull request a discussion will start around your proposed changes. Other contributors and users may chime in, but ultimately the decision is made by the maintainer(s). You may be asked to make some changes to your pull request, if so, add more commits to your branch and push them theyll automatically go into the existing pull request.
If your pull request is merged great! If it is not, no sweat, it may not be what the project maintainer had in mind, or they were already working on it. This happens, so our recommendation is to take any feedback youve received and go forth and pull request again or create your own open source project.
Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

+11
View File
@@ -0,0 +1,11 @@
Pod::Spec.new do |s|
s.name = 'Navigation-stack'
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 = '10.0'
s.source = { :git => 'https://github.com/Ramotion/navigation-stack.git', :tag => s.version.to_s }
s.source_files = 'Source/**/*.swift'
end
@@ -13,12 +13,14 @@
<key>CFBundleName</key>
<string>$(PRODUCT_NAME)</string>
<key>CFBundlePackageType</key>
<string>BNDL</string>
<string>FMWK</string>
<key>CFBundleShortVersionString</key>
<string>1.0</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>1</string>
<string>$(CURRENT_PROJECT_VERSION)</string>
<key>NSPrincipalClass</key>
<string></string>
</dict>
</plist>
+19
View File
@@ -0,0 +1,19 @@
//
// NavigationStack.h
// NavigationStack
//
// Created by Alex K. on 01/06/16.
// Copyright © 2016 Alex K. All rights reserved.
//
#import <UIKit/UIKit.h>
//! Project version number for NavigationStack.
FOUNDATION_EXPORT double NavigationStackVersionNumber;
//! Project version string for NavigationStack.
FOUNDATION_EXPORT const unsigned char NavigationStackVersionString[];
// In this header, you should import all the public headers of your framework using statements like #import <NavigationStack/PublicHeader.h>
+227 -248
View File
@@ -3,103 +3,114 @@
archiveVersion = 1;
classes = {
};
objectVersion = 46;
objectVersion = 47;
objects = {
/* Begin PBXBuildFile section */
840D54101C8705FA00555605 /* 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, ); }; };
84368B491CFEDDBE007C4278 /* NavigationStack.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8444B1261C80250A00B53B4E /* NavigationStack.swift */; };
84368B4A1CFEDDC5007C4278 /* CollectionStackViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8444B1231C80250A00B53B4E /* CollectionStackViewController.swift */; };
84368B4B1CFEDDC9007C4278 /* CollectionViewStackFlowLayout.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8444B1221C80250A00B53B4E /* CollectionViewStackFlowLayout.swift */; };
84368B4C1CFEDDCE007C4278 /* CollectionViewStackCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8444B1201C80250A00B53B4E /* CollectionViewStackCell.swift */; };
8444B0F01C80238500B53B4E /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8444B0EF1C80238500B53B4E /* AppDelegate.swift */; };
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 */; };
8444B1101C80238500B53B4E /* NavigationStackDemoUITests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8444B10F1C80238500B53B4E /* NavigationStackDemoUITests.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 */; };
847B0F871C842ED800E2C54D /* FirstTableViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 847B0F861C842ED800E2C54D /* FirstTableViewController.swift */; };
847B0F881C842ED800E2C54D /* FirstTableViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 847B0F861C842ED800E2C54D /* FirstTableViewController.swift */; };
847B0F891C842ED800E2C54D /* FirstTableViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 847B0F861C842ED800E2C54D /* FirstTableViewController.swift */; };
846302891C8ABC340015CD81 /* OpenSans-Regular.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 846302881C8ABC340015CD81 /* OpenSans-Regular.ttf */; };
847B0FA91C846B8100E2C54D /* FifthViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 847B0FA81C846B8100E2C54D /* FifthViewController.swift */; };
847B0FAB1C846B8C00E2C54D /* FourthViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 847B0FAA1C846B8C00E2C54D /* FourthViewController.swift */; };
847B0FAD1C846B9200E2C54D /* ThirdViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 847B0FAC1C846B9200E2C54D /* ThirdViewController.swift */; };
847B0FAF1C846BD600E2C54D /* TableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 847B0FAE1C846BD600E2C54D /* TableViewCell.swift */; };
847B0FB11C846C6100E2C54D /* SecondViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 847B0FB01C846C6100E2C54D /* SecondViewController.swift */; };
84B820991C8AE00E00939EE7 /* OpenSans-Semibold.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 84B820981C8AE00E00939EE7 /* OpenSans-Semibold.ttf */; };
84E8E5A61C89D2C800A8B640 /* OpenSans-Light.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 84E8E5A51C89D2C800A8B640 /* OpenSans-Light.ttf */; };
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
8444B1011C80238500B53B4E /* PBXContainerItemProxy */ = {
84368B411CFEDDB1007C4278 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 8444B0E41C80238500B53B4E /* Project object */;
proxyType = 1;
remoteGlobalIDString = 8444B0EB1C80238500B53B4E;
remoteInfo = NavigationStackDemo;
};
8444B10C1C80238500B53B4E /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 8444B0E41C80238500B53B4E /* Project object */;
proxyType = 1;
remoteGlobalIDString = 8444B0EB1C80238500B53B4E;
remoteInfo = NavigationStackDemo;
remoteGlobalIDString = 84368B3B1CFEDDB1007C4278;
remoteInfo = NavigationStack;
};
/* End PBXContainerItemProxy section */
/* Begin PBXCopyFilesBuildPhase section */
84368B481CFEDDB1007C4278 /* Embed Frameworks */ = {
isa = PBXCopyFilesBuildPhase;
buildActionMask = 2147483647;
dstPath = "";
dstSubfolderSpec = 10;
files = (
84368B441CFEDDB1007C4278 /* NavigationStack.framework in Embed Frameworks */,
);
name = "Embed Frameworks";
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXCopyFilesBuildPhase section */
/* Begin PBXFileReference section */
8444B0EC1C80238500B53B4E /* NavigationStackDemo.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = NavigationStackDemo.app; sourceTree = BUILT_PRODUCTS_DIR; };
840D540F1C8705FA00555605 /* FirstTableViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FirstTableViewController.swift; sourceTree = "<group>"; };
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 /* 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>"; };
8444B10B1C80238500B53B4E /* NavigationStackDemoUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = NavigationStackDemoUITests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
8444B10F1C80238500B53B4E /* NavigationStackDemoUITests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NavigationStackDemoUITests.swift; sourceTree = "<group>"; };
8444B1111C80238500B53B4E /* 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>"; };
8444B1261C80250A00B53B4E /* NavigationStack.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NavigationStack.swift; sourceTree = "<group>"; };
847B0F861C842ED800E2C54D /* FirstTableViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = FirstTableViewController.swift; path = ../FirstTableViewController.swift; sourceTree = "<group>"; };
846302881C8ABC340015CD81 /* OpenSans-Regular.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "OpenSans-Regular.ttf"; sourceTree = "<group>"; };
847B0FA81C846B8100E2C54D /* FifthViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FifthViewController.swift; sourceTree = "<group>"; };
847B0FAA1C846B8C00E2C54D /* FourthViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FourthViewController.swift; sourceTree = "<group>"; };
847B0FAC1C846B9200E2C54D /* ThirdViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ThirdViewController.swift; sourceTree = "<group>"; };
847B0FAE1C846BD600E2C54D /* TableViewCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TableViewCell.swift; sourceTree = "<group>"; };
847B0FB01C846C6100E2C54D /* SecondViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SecondViewController.swift; sourceTree = "<group>"; };
84B820981C8AE00E00939EE7 /* OpenSans-Semibold.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "OpenSans-Semibold.ttf"; sourceTree = "<group>"; };
84E8E5A51C89D2C800A8B640 /* OpenSans-Light.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "OpenSans-Light.ttf"; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
84368B381CFEDDB1007C4278 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
8444B0E91C80238500B53B4E /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
8444B0FD1C80238500B53B4E /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
8444B1081C80238500B53B4E /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
84368B431CFEDDB1007C4278 /* NavigationStack.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
84368B3D1CFEDDB1007C4278 /* NavigationStack */ = {
isa = PBXGroup;
children = (
84368B3E1CFEDDB1007C4278 /* NavigationStack.h */,
84368B401CFEDDB1007C4278 /* Info.plist */,
);
path = NavigationStack;
sourceTree = "<group>";
};
8444B0E31C80238500B53B4E = {
isa = PBXGroup;
children = (
8444B0EE1C80238500B53B4E /* NavigationStackDemo */,
8444B1031C80238500B53B4E /* NavigationStackDemoTests */,
8444B10E1C80238500B53B4E /* NavigationStackDemoUITests */,
84368B3D1CFEDDB1007C4278 /* NavigationStack */,
8444B0ED1C80238500B53B4E /* Products */,
);
sourceTree = "<group>";
@@ -107,9 +118,8 @@
8444B0ED1C80238500B53B4E /* Products */ = {
isa = PBXGroup;
children = (
8444B0EC1C80238500B53B4E /* NavigationStackDemo.app */,
8444B1001C80238500B53B4E /* NavigationStackDemoTests.xctest */,
8444B10B1C80238500B53B4E /* NavigationStackDemoUITests.xctest */,
8444B0EC1C80238500B53B4E /* Navigation Stack.app */,
84368B3C1CFEDDB1007C4278 /* NavigationStack.framework */,
);
name = Products;
sourceTree = "<group>";
@@ -128,27 +138,10 @@
path = NavigationStackDemo;
sourceTree = "<group>";
};
8444B1031C80238500B53B4E /* NavigationStackDemoTests */ = {
isa = PBXGroup;
children = (
8444B1041C80238500B53B4E /* NavigationStackDemoTests.swift */,
8444B1061C80238500B53B4E /* Info.plist */,
);
path = NavigationStackDemoTests;
sourceTree = "<group>";
};
8444B10E1C80238500B53B4E /* NavigationStackDemoUITests */ = {
isa = PBXGroup;
children = (
8444B10F1C80238500B53B4E /* NavigationStackDemoUITests.swift */,
8444B1111C80238500B53B4E /* Info.plist */,
);
path = NavigationStackDemoUITests;
sourceTree = "<group>";
};
8444B11D1C80247500B53B4E /* Source */ = {
isa = PBXGroup;
children = (
84E8E5A41C89D28C00A8B640 /* Fonts */,
8444B11E1C80250A00B53B4E /* CollectionView */,
8444B1261C80250A00B53B4E /* NavigationStack.swift */,
);
@@ -188,26 +181,15 @@
847B0F8F1C844B4F00E2C54D /* FirstViewController */,
847B0F901C844BBC00E2C54D /* SecondViewController */,
847B0F951C84618300E2C54D /* ThirdViewController */,
847B0F9E1C8464F100E2C54D /* FourthViewController */,
847B0FA31C84690E00E2C54D /* FifthViewController */,
);
path = ViewControllers;
sourceTree = "<group>";
};
847B0F8A1C8430C100E2C54D /* Cells */ = {
isa = PBXGroup;
children = (
847B0FAE1C846BD600E2C54D /* TableViewCell.swift */,
);
name = Cells;
path = ../Cells;
sourceTree = "<group>";
};
847B0F8F1C844B4F00E2C54D /* FirstViewController */ = {
isa = PBXGroup;
children = (
847B0F8A1C8430C100E2C54D /* Cells */,
847B0F861C842ED800E2C54D /* FirstTableViewController.swift */,
840D540F1C8705FA00555605 /* FirstTableViewController.swift */,
);
path = FirstViewController;
sourceTree = "<group>";
@@ -228,14 +210,6 @@
path = ThirdViewController;
sourceTree = "<group>";
};
847B0F9E1C8464F100E2C54D /* FourthViewController */ = {
isa = PBXGroup;
children = (
847B0FAA1C846B8C00E2C54D /* FourthViewController.swift */,
);
path = FourthViewController;
sourceTree = "<group>";
};
847B0FA31C84690E00E2C54D /* FifthViewController */ = {
isa = PBXGroup;
children = (
@@ -244,9 +218,48 @@
path = FifthViewController;
sourceTree = "<group>";
};
84E8E5A41C89D28C00A8B640 /* Fonts */ = {
isa = PBXGroup;
children = (
84B820981C8AE00E00939EE7 /* OpenSans-Semibold.ttf */,
846302881C8ABC340015CD81 /* OpenSans-Regular.ttf */,
84E8E5A51C89D2C800A8B640 /* OpenSans-Light.ttf */,
);
path = Fonts;
sourceTree = "<group>";
};
/* End PBXGroup section */
/* Begin PBXHeadersBuildPhase section */
84368B391CFEDDB1007C4278 /* Headers */ = {
isa = PBXHeadersBuildPhase;
buildActionMask = 2147483647;
files = (
84368B3F1CFEDDB1007C4278 /* NavigationStack.h in Headers */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXHeadersBuildPhase section */
/* Begin PBXNativeTarget section */
84368B3B1CFEDDB1007C4278 /* NavigationStack */ = {
isa = PBXNativeTarget;
buildConfigurationList = 84368B471CFEDDB1007C4278 /* Build configuration list for PBXNativeTarget "NavigationStack" */;
buildPhases = (
84368B371CFEDDB1007C4278 /* Sources */,
84368B381CFEDDB1007C4278 /* Frameworks */,
84368B391CFEDDB1007C4278 /* Headers */,
84368B3A1CFEDDB1007C4278 /* Resources */,
);
buildRules = (
);
dependencies = (
);
name = NavigationStack;
productName = NavigationStack;
productReference = 84368B3C1CFEDDB1007C4278 /* NavigationStack.framework */;
productType = "com.apple.product-type.framework";
};
8444B0EB1C80238500B53B4E /* NavigationStackDemo */ = {
isa = PBXNativeTarget;
buildConfigurationList = 8444B1141C80238500B53B4E /* Build configuration list for PBXNativeTarget "NavigationStackDemo" */;
@@ -254,52 +267,18 @@
8444B0E81C80238500B53B4E /* Sources */,
8444B0E91C80238500B53B4E /* Frameworks */,
8444B0EA1C80238500B53B4E /* Resources */,
84368B481CFEDDB1007C4278 /* Embed Frameworks */,
);
buildRules = (
);
dependencies = (
84368B421CFEDDB1007C4278 /* PBXTargetDependency */,
);
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";
};
8444B10A1C80238500B53B4E /* NavigationStackDemoUITests */ = {
isa = PBXNativeTarget;
buildConfigurationList = 8444B11A1C80238500B53B4E /* Build configuration list for PBXNativeTarget "NavigationStackDemoUITests" */;
buildPhases = (
8444B1071C80238500B53B4E /* Sources */,
8444B1081C80238500B53B4E /* Frameworks */,
8444B1091C80238500B53B4E /* Resources */,
);
buildRules = (
);
dependencies = (
8444B10D1C80238500B53B4E /* PBXTargetDependency */,
);
name = NavigationStackDemoUITests;
productName = NavigationStackDemoUITests;
productReference = 8444B10B1C80238500B53B4E /* NavigationStackDemoUITests.xctest */;
productType = "com.apple.product-type.bundle.ui-testing";
};
/* End PBXNativeTarget section */
/* Begin PBXProject section */
@@ -307,25 +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;
};
8444B0FF1C80238500B53B4E = {
CreatedOnToolsVersion = 7.2.1;
TestTargetID = 8444B0EB1C80238500B53B4E;
};
8444B10A1C80238500B53B4E = {
CreatedOnToolsVersion = 7.2.1;
TestTargetID = 8444B0EB1C80238500B53B4E;
DevelopmentTeam = 34MUF9YXTA;
LastSwiftMigration = 1020;
};
};
};
buildConfigurationList = 8444B0E71C80238500B53B4E /* Build configuration list for PBXProject "NavigationStackDemo" */;
compatibilityVersion = "Xcode 3.2";
developmentRegion = English;
compatibilityVersion = "Xcode 6.3";
developmentRegion = en;
hasScannedForEncodings = 0;
knownRegions = (
en,
@@ -337,40 +315,46 @@
projectRoot = "";
targets = (
8444B0EB1C80238500B53B4E /* NavigationStackDemo */,
8444B0FF1C80238500B53B4E /* NavigationStackDemoTests */,
8444B10A1C80238500B53B4E /* NavigationStackDemoUITests */,
84368B3B1CFEDDB1007C4278 /* NavigationStack */,
);
};
/* End PBXProject section */
/* Begin PBXResourcesBuildPhase section */
84368B3A1CFEDDB1007C4278 /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
8444B0EA1C80238500B53B4E /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
84B820991C8AE00E00939EE7 /* OpenSans-Semibold.ttf in Resources */,
846302891C8ABC340015CD81 /* OpenSans-Regular.ttf in Resources */,
8444B0FA1C80238500B53B4E /* LaunchScreen.storyboard in Resources */,
8444B0F71C80238500B53B4E /* Assets.xcassets in Resources */,
84E8E5A61C89D2C800A8B640 /* OpenSans-Light.ttf in Resources */,
8444B0F51C80238500B53B4E /* Main.storyboard in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
8444B0FE1C80238500B53B4E /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
8444B1091C80238500B53B4E /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXResourcesBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
84368B371CFEDDB1007C4278 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
84368B491CFEDDBE007C4278 /* NavigationStack.swift in Sources */,
84368B4C1CFEDDCE007C4278 /* CollectionViewStackCell.swift in Sources */,
84368B4B1CFEDDC9007C4278 /* CollectionViewStackFlowLayout.swift in Sources */,
84368B4A1CFEDDC5007C4278 /* CollectionStackViewController.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
8444B0E81C80238500B53B4E /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
@@ -378,10 +362,8 @@
847B0FB11C846C6100E2C54D /* SecondViewController.swift in Sources */,
847B0FA91C846B8100E2C54D /* FifthViewController.swift in Sources */,
8444B1271C80250A00B53B4E /* CollectionViewStackCell.swift in Sources */,
847B0F871C842ED800E2C54D /* FirstTableViewController.swift in Sources */,
847B0FAB1C846B8C00E2C54D /* FourthViewController.swift in Sources */,
8444B1291C80250A00B53B4E /* CollectionStackViewController.swift in Sources */,
847B0FAF1C846BD600E2C54D /* TableViewCell.swift in Sources */,
840D54101C8705FA00555605 /* FirstTableViewController.swift in Sources */,
8444B1281C80250A00B53B4E /* CollectionViewStackFlowLayout.swift in Sources */,
847B0FAD1C846B9200E2C54D /* ThirdViewController.swift in Sources */,
8444B12B1C80250A00B53B4E /* NavigationStack.swift in Sources */,
@@ -389,36 +371,13 @@
);
runOnlyForDeploymentPostprocessing = 0;
};
8444B0FC1C80238500B53B4E /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
8444B1051C80238500B53B4E /* NavigationStackDemoTests.swift in Sources */,
847B0F881C842ED800E2C54D /* FirstTableViewController.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
8444B1071C80238500B53B4E /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
8444B1101C80238500B53B4E /* NavigationStackDemoUITests.swift in Sources */,
847B0F891C842ED800E2C54D /* FirstTableViewController.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */
/* Begin PBXTargetDependency section */
8444B1021C80238500B53B4E /* PBXTargetDependency */ = {
84368B421CFEDDB1007C4278 /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = 8444B0EB1C80238500B53B4E /* NavigationStackDemo */;
targetProxy = 8444B1011C80238500B53B4E /* PBXContainerItemProxy */;
};
8444B10D1C80238500B53B4E /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = 8444B0EB1C80238500B53B4E /* NavigationStackDemo */;
targetProxy = 8444B10C1C80238500B53B4E /* PBXContainerItemProxy */;
target = 84368B3B1CFEDDB1007C4278 /* NavigationStack */;
targetProxy = 84368B411CFEDDB1007C4278 /* PBXContainerItemProxy */;
};
/* End PBXTargetDependency section */
@@ -442,6 +401,56 @@
/* End PBXVariantGroup section */
/* Begin XCBuildConfiguration section */
84368B451CFEDDB1007C4278 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
CLANG_ANALYZER_NONNULL = YES;
CODE_SIGN_IDENTITY = "";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
CURRENT_PROJECT_VERSION = 1;
DEFINES_MODULE = YES;
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
DYLIB_INSTALL_NAME_BASE = "@rpath";
INFOPLIST_FILE = NavigationStack/Info.plist;
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
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 = "";
};
name = Debug;
};
84368B461CFEDDB1007C4278 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
CLANG_ANALYZER_NONNULL = YES;
CODE_SIGN_IDENTITY = "";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
CURRENT_PROJECT_VERSION = 1;
DEFINES_MODULE = YES;
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
DYLIB_INSTALL_NAME_BASE = "@rpath";
INFOPLIST_FILE = NavigationStack/Info.plist;
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
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 = "";
};
name = Release;
};
8444B1121C80238500B53B4E /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
@@ -450,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";
@@ -478,7 +497,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 9.2;
IPHONEOS_DEPLOYMENT_TARGET = 12.2;
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = iphoneos;
@@ -494,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";
@@ -516,9 +545,10 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 9.2;
IPHONEOS_DEPLOYMENT_TARGET = 12.2;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = iphoneos;
SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule";
VALIDATE_PRODUCT = YES;
};
name = Release;
@@ -526,78 +556,45 @@
8444B1151C80238500B53B4E /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CODE_SIGN_IDENTITY = "iPhone Developer";
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";
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";
};
name = Release;
};
8444B11B1C80238500B53B4E /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
INFOPLIST_FILE = NavigationStackDemoUITests/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
PRODUCT_BUNDLE_IDENTIFIER = com.ramotion.NavigationStackDemoUITests;
PRODUCT_NAME = "$(TARGET_NAME)";
TEST_TARGET_NAME = NavigationStackDemo;
USES_XCTRUNNER = YES;
};
name = Debug;
};
8444B11C1C80238500B53B4E /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
INFOPLIST_FILE = NavigationStackDemoUITests/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
PRODUCT_BUNDLE_IDENTIFIER = com.ramotion.NavigationStackDemoUITests;
PRODUCT_NAME = "$(TARGET_NAME)";
TEST_TARGET_NAME = NavigationStackDemo;
USES_XCTRUNNER = YES;
PRODUCT_NAME = "Navigation Stack";
SWIFT_VERSION = 5.0;
};
name = Release;
};
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
84368B471CFEDDB1007C4278 /* Build configuration list for PBXNativeTarget "NavigationStack" */ = {
isa = XCConfigurationList;
buildConfigurations = (
84368B451CFEDDB1007C4278 /* Debug */,
84368B461CFEDDB1007C4278 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
8444B0E71C80238500B53B4E /* Build configuration list for PBXProject "NavigationStackDemo" */ = {
isa = XCConfigurationList;
buildConfigurations = (
@@ -616,24 +613,6 @@
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
8444B1171C80238500B53B4E /* Build configuration list for PBXNativeTarget "NavigationStackDemoTests" */ = {
isa = XCConfigurationList;
buildConfigurations = (
8444B1181C80238500B53B4E /* Debug */,
8444B1191C80238500B53B4E /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
8444B11A1C80238500B53B4E /* Build configuration list for PBXNativeTarget "NavigationStackDemoUITests" */ = {
isa = XCConfigurationList;
buildConfigurations = (
8444B11B1C80238500B53B4E /* Debug */,
8444B11C1C80238500B53B4E /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
rootObject = 8444B0E41C80238500B53B4E /* Project object */;
@@ -0,0 +1,76 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "1110"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "84368B3B1CFEDDB1007C4278"
BuildableName = "NavigationStack.framework"
BlueprintName = "NavigationStack"
ReferencedContainer = "container:NavigationStackDemo.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES">
<Testables>
</Testables>
</TestAction>
<LaunchAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
debugServiceExtension = "internal"
allowLocationSimulation = "YES">
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "84368B3B1CFEDDB1007C4278"
BuildableName = "NavigationStack.framework"
BlueprintName = "NavigationStack"
ReferencedContainer = "container:NavigationStackDemo.xcodeproj">
</BuildableReference>
</MacroExpansion>
</LaunchAction>
<ProfileAction
buildConfiguration = "Release"
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
debugDocumentVersioning = "YES">
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "84368B3B1CFEDDB1007C4278"
BuildableName = "NavigationStack.framework"
BlueprintName = "NavigationStack"
ReferencedContainer = "container:NavigationStackDemo.xcodeproj">
</BuildableReference>
</MacroExpansion>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>
+10 -29
View File
@@ -27,36 +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.
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

@@ -0,0 +1,24 @@
{
"images" : [
{
"idiom" : "universal"
},
{
"idiom" : "universal",
"filename" : "ButtonBorder.pdf",
"scale" : "1x"
},
{
"idiom" : "universal",
"scale" : "2x"
},
{
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
@@ -0,0 +1,6 @@
{
"info" : {
"version" : 1,
"author" : "xcode"
}
}
@@ -0,0 +1,21 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"idiom" : "universal",
"filename" : "Fifth-Icon-0.png",
"scale" : "2x"
},
{
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

@@ -0,0 +1,21 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"idiom" : "universal",
"filename" : "Fifth-Icon-1.png",
"scale" : "2x"
},
{
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

@@ -0,0 +1,21 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"idiom" : "universal",
"filename" : "Fifth-Icon-2.png",
"scale" : "2x"
},
{
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

@@ -0,0 +1,21 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"idiom" : "universal",
"filename" : "Fifth-Icon-3.png",
"scale" : "2x"
},
{
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

@@ -0,0 +1,6 @@
{
"info" : {
"version" : 1,
"author" : "xcode"
}
}
@@ -0,0 +1,24 @@
{
"images" : [
{
"idiom" : "universal"
},
{
"idiom" : "universal",
"scale" : "1x"
},
{
"idiom" : "universal",
"filename" : "Arrow.pdf",
"scale" : "2x"
},
{
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
@@ -0,0 +1,6 @@
{
"info" : {
"version" : 1,
"author" : "xcode"
}
}
@@ -0,0 +1,21 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"idiom" : "universal",
"filename" : "icon-0.png",
"scale" : "2x"
},
{
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

@@ -0,0 +1,21 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"idiom" : "universal",
"filename" : "icon-1.png",
"scale" : "2x"
},
{
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

@@ -0,0 +1,21 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"idiom" : "universal",
"filename" : "icon-2.png",
"scale" : "2x"
},
{
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

@@ -0,0 +1,21 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"idiom" : "universal",
"filename" : "icon-3.png",
"scale" : "2x"
},
{
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

@@ -0,0 +1,21 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"idiom" : "universal",
"filename" : "icon-4.png",
"scale" : "2x"
},
{
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

@@ -0,0 +1,6 @@
{
"info" : {
"version" : 1,
"author" : "xcode"
}
}
@@ -0,0 +1,21 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"idiom" : "universal",
"filename" : "GirlsBig.png",
"scale" : "2x"
},
{
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 134 KiB

@@ -0,0 +1,21 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"idiom" : "universal",
"filename" : "NYbg.png",
"scale" : "2x"
},
{
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 614 KiB

@@ -0,0 +1,21 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"idiom" : "universal",
"filename" : "faceIcon.png",
"scale" : "2x"
},
{
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

@@ -0,0 +1,21 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"idiom" : "universal",
"filename" : "foodIcon.png",
"scale" : "2x"
},
{
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 544 KiB

@@ -0,0 +1,21 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"idiom" : "universal",
"filename" : "BridgeImage.png",
"scale" : "2x"
},
{
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
@@ -0,0 +1,6 @@
{
"info" : {
"version" : 1,
"author" : "xcode"
}
}
@@ -0,0 +1,24 @@
{
"images" : [
{
"idiom" : "universal"
},
{
"idiom" : "universal",
"filename" : "DotsIcon.pdf",
"scale" : "1x"
},
{
"idiom" : "universal",
"scale" : "2x"
},
{
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
@@ -0,0 +1,21 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"idiom" : "universal",
"filename" : "HeadnImage.png",
"scale" : "2x"
},
{
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

@@ -0,0 +1,21 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"idiom" : "universal",
"filename" : "PCImage.png",
"scale" : "2x"
},
{
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

@@ -0,0 +1,24 @@
{
"images" : [
{
"idiom" : "universal"
},
{
"idiom" : "universal",
"filename" : "PersonIcon.pdf",
"scale" : "1x"
},
{
"idiom" : "universal",
"scale" : "2x"
},
{
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
@@ -0,0 +1,24 @@
{
"images" : [
{
"idiom" : "universal"
},
{
"idiom" : "universal",
"filename" : "PinIcon.pdf",
"scale" : "1x"
},
{
"idiom" : "universal",
"scale" : "2x"
},
{
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
@@ -0,0 +1,24 @@
{
"images" : [
{
"idiom" : "universal"
},
{
"idiom" : "universal",
"filename" : "RamotionBig.pdf",
"scale" : "1x"
},
{
"idiom" : "universal",
"scale" : "2x"
},
{
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
@@ -0,0 +1,24 @@
{
"images" : [
{
"idiom" : "universal"
},
{
"idiom" : "universal",
"filename" : "backButton.pdf",
"scale" : "1x"
},
{
"idiom" : "universal",
"scale" : "2x"
},
{
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
@@ -0,0 +1,24 @@
{
"images" : [
{
"idiom" : "universal"
},
{
"idiom" : "universal",
"filename" : "BGmessage.pdf",
"scale" : "1x"
},
{
"idiom" : "universal",
"scale" : "2x"
},
{
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
@@ -0,0 +1,6 @@
{
"info" : {
"version" : 1,
"author" : "xcode"
}
}
@@ -0,0 +1,21 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"idiom" : "universal",
"filename" : "girsl.png",
"scale" : "2x"
},
{
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

@@ -1,7 +1,13 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="8150" systemVersion="15A204g" 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>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="8122"/>
<deployment identifier="iOS"/>
<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-->
@@ -13,15 +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"/>
<animations/>
<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>
File diff suppressed because it is too large Load Diff
+8
View File
@@ -22,6 +22,10 @@
<string>1</string>
<key>LSRequiresIPhoneOS</key>
<true/>
<key>UIAppFonts</key>
<array>
<string>OpenSans-Semibold.ttf</string>
</array>
<key>UILaunchStoryboardName</key>
<string>LaunchScreen</string>
<key>UIMainStoryboardFile</key>
@@ -30,9 +34,13 @@
<array>
<string>armv7</string>
</array>
<key>UIStatusBarHidden</key>
<false/>
<key>UISupportedInterfaceOrientations</key>
<array>
<string>UIInterfaceOrientationPortrait</string>
</array>
<key>UIViewControllerBasedStatusBarAppearance</key>
<false/>
</dict>
</plist>
@@ -1,15 +0,0 @@
//
// TableViewCell.swift
// NavigationStackDemo
//
// Created by Alex K. on 29/02/16.
// Copyright © 2016 Alex K. All rights reserved.
//
import UIKit
class TableViewCell: UITableViewCell {
@IBOutlet weak var circleView: UIView!
@IBOutlet weak var contantHeight: NSLayoutConstraint!
}
@@ -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)
}
}
@@ -1,80 +0,0 @@
//
// FirstTableViewController.swift
// NavigationStackDemo
//
// Created by Alex K. on 29/02/16.
// Copyright © 2016 Alex K. All rights reserved.
//
import UIKit
// MARK: FirstTableViewController
class FirstTableViewController: UITableViewController {
let items = [
UIColor(red:0.97, green:0.74, blue:0.58, alpha:1),
UIColor(red:0.95, green:0.86, blue:0.58, alpha:1),
UIColor(red:0.78, green:0.89, blue:0.58, alpha:1),
UIColor(red:0.61, green:0.86, blue:0.87, alpha:1),
UIColor(red:0.77, green:0.76, blue:0.92, alpha:1)
]
override func viewDidLoad() {
super.viewDidLoad()
navigationController!.interactivePopGestureRecognizer?.delegate = self
}
override func viewWillAppear(animated: Bool) {
super.viewWillAppear(animated)
if let navigationController = navigationController {
navigationController.navigationBar.barTintColor = UIColor(red:0.93, green:0.93, blue:0.95, alpha:1)
}
}
}
// MARK: UIGestureRecognizerDelegate
extension FirstTableViewController: UIGestureRecognizerDelegate {
func gestureRecognizerShouldBegin(gestureRecognizer: UIGestureRecognizer) -> Bool {
if navigationController?.viewControllers.count == 2 {
return true
}
if let navigationController = self.navigationController as? NavigationStack {
navigationController.showControllers()
}
return false
}
}
// MARK: UITableViewDataSource
extension FirstTableViewController {
override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return items.count
}
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
return tableView.dequeueReusableCellWithIdentifier(String(TableViewCell), forIndexPath: indexPath)
}
}
// MARK: UITableViewDelegate
extension FirstTableViewController {
override func tableView(tableView: UITableView, willDisplayCell
cell: UITableViewCell, forRowAtIndexPath indexPath: NSIndexPath) {
guard let cell = cell as? TableViewCell else {
return
}
cell.circleView.backgroundColor = items[indexPath.row]
cell.contantHeight.constant = CGFloat(arc4random_uniform(150) + 30)
}
}
@@ -0,0 +1,52 @@
//
// FirstTableViewController.swift
// NavigationStackDemo
//
// Created by Alex K. on 29/02/16.
// Copyright © 2016 Alex K. All rights reserved.
//
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)
}
}
override func tableView(_: UITableView, didSelectRowAt _: IndexPath) {
performSegue(withIdentifier: "push", sender: nil)
}
}
// MARK: UIGestureRecognizerDelegate
extension FirstTableViewController: UIGestureRecognizerDelegate {
func gestureRecognizerShouldBegin(_: UIGestureRecognizer) -> Bool {
if navigationController?.viewControllers.count == 2 {
return true
}
if let navigationController = self.navigationController as? NavigationStack {
navigationController.showControllers()
}
return false
}
}
@@ -1,28 +0,0 @@
//
// FourthViewController.swift
// NavigationStackDemo
//
// Created by Alex K. on 29/02/16.
// Copyright © 2016 Alex K. All rights reserved.
//
import UIKit
class FourthViewController: UITableViewController {
override func viewWillAppear(animated: Bool) {
super.viewWillAppear(animated)
if let navigationController = navigationController {
navigationController.navigationBar.barTintColor = UIColor(red:0.78, green:0.89, blue:0.58, alpha:1)
}
}
@IBAction func backHandler(sender: AnyObject) {
navigationController?.popViewControllerAnimated(true)
}
override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
performSegueWithIdentifier("push", sender: nil)
}
}
@@ -9,22 +9,22 @@
import UIKit
class SecondViewController: UITableViewController {
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)
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
// }
}
}
@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,21 +9,18 @@
import UIKit
class ThirdViewController: UITableViewController {
override func viewWillAppear(animated: Bool) {
super.viewWillAppear(animated)
if let navigationController = navigationController {
navigationController.navigationBar.barTintColor = UIColor(red:0.97, green:0.74, blue:0.58, alpha:1)
@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)
}
}
@IBAction func backHandler(sender: AnyObject) {
navigationController?.popViewControllerAnimated(true)
}
override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
performSegueWithIdentifier("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.
}
}
}
@@ -1,36 +0,0 @@
//
// NavigationStackDemoUITests.swift
// NavigationStackDemoUITests
//
// Created by Alex K. on 26/02/16.
// Copyright © 2016 Alex K. All rights reserved.
//
import XCTest
class NavigationStackDemoUITests: XCTestCase {
override func setUp() {
super.setUp()
// Put setup code here. This method is called before the invocation of each test method in the class.
// In UI tests it is usually best to stop immediately when a failure occurs.
continueAfterFailure = false
// UI tests must launch the application that they test. Doing this in setup will make sure it happens for each test method.
XCUIApplication().launch()
// In UI tests its important to set the initial state - such as interface orientation - required for your tests before they run. The setUp method is a good place to do this.
}
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() {
// Use recording to get started writing UI tests.
// Use XCTAssert and related functions to verify your tests produce the correct results.
}
}
+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]
)
+60 -13
View File
@@ -1,15 +1,55 @@
![header](./header.png)
# navigation-stack
<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>
[![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)
[![Donate](https://img.shields.io/badge/Donate-PayPal-blue.svg)](https://paypal.me/Ramotion)
## Requirements
- iOS 9.0+
- Xcode 7.2
- Xcode 9
## Installation
Just add the Source folder to your project.
or use [CocoaPods](https://cocoapods.org) with Podfile:
``` ruby
pod 'Navigation-stack'
```
or [Carthage](https://github.com/Carthage/Carthage) users can simply add to their `Cartfile`:
```
github "Ramotion/navigation-stack"
```
## Usage
1) YourNavigationController inherit from `NavigationStack`
@@ -26,29 +66,36 @@ override func viewDidLoad() {
``` swift
extension YourViewController: UIGestureRecognizerDelegate {
func gestureRecognizerShouldBegin(gestureRecognizer: UIGestureRecognizer) -> Bool {
if navigationController?.viewControllers.count == 2 {
return true
}
if let navigationController = self.navigationController as? NavigationStack {
navigationController.showControllers()
}
return false
}
}
```
## 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=foolding-cell)
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,67 +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
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;
}
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
}
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)
}
}

Some files were not shown because too many files have changed in this diff Show More