Compare commits

..

No commits in common. "fix/labels_width" and "master" have entirely different histories.

28 changed files with 476 additions and 748 deletions

View File

@ -1,58 +0,0 @@
## How to contribute to Segmentio
#### **Did you find a bug?**
* **Ensure the bug was not already reported** by searching under [Issues](https://github.com/Yalantis/Segmentio/issues).
* If you're unable to find an open issue addressing the problem, [open a new one](https://github.com/Yalantis/Segmentio/issues/new). Be sure to include a **title and clear description**, as much relevant information as possible, and a **code sample** or an **example project** demonstrating the expected behavior that is not occurring.
* Fill appropriate section in issue template and remove the section you aren't interested in.
#### **Did you write a patch that fixes a bug?**
* Open a new GitHub pull request with the patch.
* Ensure the PR description clearly describes the problem and solution. Include the relevant issue number if applicable.
* Ensure the PR doesn't extend the number of existing issues.
#### **Did you fix whitespace, format code, or make a purely cosmetic patch?**
* Changes that are **cosmetic** in nature and **do not add anything substantial** to the stability or functionality of Segmentio will generally **not be accepted**.
#### **Did you write patch that extends functionality?**
* Ensure the functionality you trying to add needed not only for your case.
#### Each issue will be labeled by it's `type`, `priority` and `status`.
**Issue types:**
* Bug
* Enhancement
**These are the available priority labels:**
* Critical
* High
* Medium
* Low
**Status label will be assigned to your issue to keep the issue tracker easy to follow:**
* Queued (will be reviewed soon)
* Reviewed (assignee has read it)
* Pending (will work on it soon)
* Work in progress (is working on it now)
* On hold
* Invalid (if bug it's not reproducible)
* Need feedback (signal to get people to read and comment or provide help)
#### **Coding Style**
* Most importantly, match the existing code style as much as possible.
#### **Do you have a question?**
For any usage questions that are not specific to the project itself, please ask on [Stack Overflow](https://stackoverflow.com/). By doing so, you'll be more likely to quickly solve your problem, and you'll allow anyone else with the same question to find the answer. This also allows maintainers to focus on improving the project for others.
## Thank you!
#### [![Yalantis](https://raw.githubusercontent.com/Yalantis/PullToMakeSoup/master/PullToMakeSoupDemo/Resouces/badge_dark.png)](https://Yalantis.com/?utm_source=github)

View File

@ -1,5 +1,5 @@
PODS: PODS:
- Segmentio (2.1.2) - Segmentio (1.1.3)
DEPENDENCIES: DEPENDENCIES:
- Segmentio (from `../`) - Segmentio (from `../`)
@ -9,8 +9,8 @@ EXTERNAL SOURCES:
:path: "../" :path: "../"
SPEC CHECKSUMS: SPEC CHECKSUMS:
Segmentio: 5d6ce19ca05e83164fff1371396fe6212b8ea82f Segmentio: f784171237bcbb4854f338aef8162e312f4ac5b8
PODFILE CHECKSUM: 761653fe0a6001fe4076ba25b04e279672ecc970 PODFILE CHECKSUM: 761653fe0a6001fe4076ba25b04e279672ecc970
COCOAPODS: 1.2.1 COCOAPODS: 1.1.0.rc.2

View File

@ -1,6 +1,6 @@
{ {
"name": "Segmentio", "name": "Segmentio",
"version": "2.1.2", "version": "1.1.3",
"homepage": "https://github.com/Yalantis/Segmentio", "homepage": "https://github.com/Yalantis/Segmentio",
"summary": "Animated top/bottom segmented control written in Swift!", "summary": "Animated top/bottom segmented control written in Swift!",
"screenshots": "https://raw.githubusercontent.com/Yalantis/Segmentio/master/Assets/animation.gif", "screenshots": "https://raw.githubusercontent.com/Yalantis/Segmentio/master/Assets/animation.gif",
@ -15,7 +15,7 @@
}, },
"source": { "source": {
"git": "https://github.com/Yalantis/Segmentio.git", "git": "https://github.com/Yalantis/Segmentio.git",
"tag": "2.1.2" "tag": "1.1.3"
}, },
"source_files": "Segmentio/Source/**/*.swift", "source_files": "Segmentio/Source/**/*.swift",
"resources": "Segmentio/Source/Badge/Views/*.xib", "resources": "Segmentio/Source/Badge/Views/*.xib",

View File

@ -1,5 +1,5 @@
PODS: PODS:
- Segmentio (2.1.2) - Segmentio (1.1.3)
DEPENDENCIES: DEPENDENCIES:
- Segmentio (from `../`) - Segmentio (from `../`)
@ -9,8 +9,8 @@ EXTERNAL SOURCES:
:path: "../" :path: "../"
SPEC CHECKSUMS: SPEC CHECKSUMS:
Segmentio: 5d6ce19ca05e83164fff1371396fe6212b8ea82f Segmentio: f784171237bcbb4854f338aef8162e312f4ac5b8
PODFILE CHECKSUM: 761653fe0a6001fe4076ba25b04e279672ecc970 PODFILE CHECKSUM: 761653fe0a6001fe4076ba25b04e279672ecc970
COCOAPODS: 1.2.1 COCOAPODS: 1.1.0.rc.2

View File

@ -7,45 +7,45 @@
objects = { objects = {
/* Begin PBXBuildFile section */ /* Begin PBXBuildFile section */
10DBA0DC35646EAA223634A2DD73D86B /* BadgeWithCounterViewStandardSized.xib in Resources */ = {isa = PBXBuildFile; fileRef = 6E90ECA263F832D2C77F806A4581AE25 /* BadgeWithCounterViewStandardSized.xib */; }; 0906DB2204F3DA0B929ED2B2FD92C3BE /* SegmentioCellWithImageOverLabel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 71AC7FDBBA82CCF64068DC1436B7C44C /* SegmentioCellWithImageOverLabel.swift */; };
1F0E113E30DFCE466DADCD6B36FB9563 /* SegmentioCellWithImage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1BF90D3EF6772ECC6F43EF17AAB5C916 /* SegmentioCellWithImage.swift */; }; 0BC7695D61D9046BFBE6CFD6B47FFFE1 /* Pods-Segmentio_Example-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 8758BAC37EDDE6390078CCD596B97C99 /* Pods-Segmentio_Example-dummy.m */; };
4A6BC5F77C2DC7121875E9796CC0F71C /* RoundImageView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A561B2B4C70B40E0E028301D454D3EBF /* RoundImageView.swift */; }; 0BC8A81C32C10C3EB2DDF82EAD33481D /* SegmentioCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9034CEC1DC6A90954C69B5CF0A879E9D /* SegmentioCell.swift */; };
65CBF11B7E36B8038CA96C7154BD593F /* SegmentioOptions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1224468BD5929E62BFF27E1C11853D24 /* SegmentioOptions.swift */; }; 11E7945679FA0D80B96BC5DA4B1D00D0 /* SegmentioOptions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1224468BD5929E62BFF27E1C11853D24 /* SegmentioOptions.swift */; };
6C19E98544CCC74ACB0435CF36812D7E /* SegmentioCellWithLabel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6A4666D5034926280B3C39CB8CA59319 /* SegmentioCellWithLabel.swift */; }; 1E8DCF6AD4051E3F7CFD9B55341DD455 /* Segmentio-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = C56AE5AC5779B7D4F6468D2AB474D9E7 /* Segmentio-dummy.m */; };
802CB441FA23AAC29D23AF3266B93C81 /* BadgeWithCounterView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 64BE9AEFB42AAAC25501C181FF72B653 /* BadgeWithCounterView.swift */; }; 1F40A33F3F753FF73C5F80F006E14410 /* Segmentio.bundle in Resources */ = {isa = PBXBuildFile; fileRef = 2AAAF5E594CC994BE5AD10F8928BC48A /* Segmentio.bundle */; };
9B1A0F3B28E1D7077074244267A7CC06 /* BadgeViewPresenter.swift in Sources */ = {isa = PBXBuildFile; fileRef = E3C9CACA5CC49ABD89BB5C0082B56F17 /* BadgeViewPresenter.swift */; }; 20218D2C75E1CA8E41531E94BA06C129 /* SegmentioCellWithImageUnderLabel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 917595D61BE778C2053B6C375292B042 /* SegmentioCellWithImageUnderLabel.swift */; };
9C52286A3F04BE4FFB59CE603E85EE33 /* UIView+Appearance.swift in Sources */ = {isa = PBXBuildFile; fileRef = 38BC6E8817CCBFF23555995D47BF0848 /* UIView+Appearance.swift */; }; 2DA5CD5E23B0E19B8FA2F11146E4A0E5 /* SegmentioCellWithLabel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6A4666D5034926280B3C39CB8CA59319 /* SegmentioCellWithLabel.swift */; };
9F8DE05359BBE5FE5D6CDF44981E2748 /* Segmentio-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 80BC1DC599A5ED2C131F4E6D0D020D88 /* Segmentio-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; 4E01C978EC149C600FF7658A6757204A /* SegmentioCellWithImageAfterLabel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 564D3D18F6E439E721C7D49AC8379559 /* SegmentioCellWithImageAfterLabel.swift */; };
AC1BDB567F0F35B766CA875725D48E4B /* Segmentio-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = C56AE5AC5779B7D4F6468D2AB474D9E7 /* Segmentio-dummy.m */; }; 5BE82675DB7F0C7671EADA9CF99A3C1B /* Segmentio.swift in Sources */ = {isa = PBXBuildFile; fileRef = D91D0C0018887EA8F91F91162FF71F60 /* Segmentio.swift */; };
B222BF92FB6B2AB1570468B413B9574C /* Pods-Segmentio_Example-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = FCCE72372A4C77BEF387923951E588F2 /* Pods-Segmentio_Example-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; 655C575E9623729978F286F79E4EAEB8 /* BadgeWithCounterViewStandardSized.xib in Resources */ = {isa = PBXBuildFile; fileRef = 6E90ECA263F832D2C77F806A4581AE25 /* BadgeWithCounterViewStandardSized.xib */; };
BBBD49F8C72F89C61AF39D22CB78482D /* Segmentio.swift in Sources */ = {isa = PBXBuildFile; fileRef = D91D0C0018887EA8F91F91162FF71F60 /* Segmentio.swift */; }; 8F726950BDA00432603D2B6B01881D59 /* BadgeWithCounterViewBigSized.xib in Resources */ = {isa = PBXBuildFile; fileRef = 11C011383E55FDF0C1CFAA8E1E01F52C /* BadgeWithCounterViewBigSized.xib */; };
C460163ABA2667473711E5076164BEA6 /* SegmentioCellWithImageBeforeLabel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 56D84AE8DDC577C7E7499059038BABBC /* SegmentioCellWithImageBeforeLabel.swift */; }; 933D56EF2ECC35F1387B739170AFE07B /* Segmentio-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 80BC1DC599A5ED2C131F4E6D0D020D88 /* Segmentio-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; };
C4D341CAAFF7C6E722E2FA0B51123051 /* SegmentioCellWithImageOverLabel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 71AC7FDBBA82CCF64068DC1436B7C44C /* SegmentioCellWithImageOverLabel.swift */; }; 9EE6B5FE2A8EA2C0612C11D34596B7EB /* BadgeViewPresenter.swift in Sources */ = {isa = PBXBuildFile; fileRef = E3C9CACA5CC49ABD89BB5C0082B56F17 /* BadgeViewPresenter.swift */; };
CA80C8652BBBA628FBACB72025D31AB5 /* SegmentioCellWithImageAfterLabel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 564D3D18F6E439E721C7D49AC8379559 /* SegmentioCellWithImageAfterLabel.swift */; }; BC2B9C2A1711F5583A80C1FA7F6F195F /* SegmentioCellWithImage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1BF90D3EF6772ECC6F43EF17AAB5C916 /* SegmentioCellWithImage.swift */; };
CB4E396274804674528FDEF730FFE204 /* SegmentioCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9034CEC1DC6A90954C69B5CF0A879E9D /* SegmentioCell.swift */; }; C1518E27E6C853C813006C349427A4CC /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CEC22C73C1608DFA5D5D78BDCB218219 /* Foundation.framework */; };
D2C5536F2936DAFDFB2EB014181A8CD2 /* BadgeWithCounterViewBigSized.xib in Resources */ = {isa = PBXBuildFile; fileRef = 11C011383E55FDF0C1CFAA8E1E01F52C /* BadgeWithCounterViewBigSized.xib */; }; C3DB5E9DDBA27211C6E8654A363CA0BC /* UIView+Appearance.swift in Sources */ = {isa = PBXBuildFile; fileRef = 38BC6E8817CCBFF23555995D47BF0848 /* UIView+Appearance.swift */; };
E1A4407E88B99A006D9E2C92438128A4 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6604A7D69453B4569E4E4827FB9155A9 /* Foundation.framework */; }; C4EFEC716055615A27A3D1338426807D /* BadgeWithCounterViewBigSized.xib in Resources */ = {isa = PBXBuildFile; fileRef = 11C011383E55FDF0C1CFAA8E1E01F52C /* BadgeWithCounterViewBigSized.xib */; };
E358BED78F38E8EE9D622B189132F620 /* BadgeWithCounterViewBigSized.xib in Resources */ = {isa = PBXBuildFile; fileRef = 11C011383E55FDF0C1CFAA8E1E01F52C /* BadgeWithCounterViewBigSized.xib */; }; C917381BC4E7C5EFBC2CD2C898C1C8E4 /* SegmentioCellWithImageBeforeLabel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 56D84AE8DDC577C7E7499059038BABBC /* SegmentioCellWithImageBeforeLabel.swift */; };
E49AB26D0E6E0A15958BA72E63E66F24 /* SegmentioCellWithImageUnderLabel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 917595D61BE778C2053B6C375292B042 /* SegmentioCellWithImageUnderLabel.swift */; }; D29DE39BAA26D8E4DA7534F05DFB78F4 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CEC22C73C1608DFA5D5D78BDCB218219 /* Foundation.framework */; };
E9CCB40A40C825036DBE3AE35204A564 /* Segmentio.bundle in Resources */ = {isa = PBXBuildFile; fileRef = 2AAAF5E594CC994BE5AD10F8928BC48A /* Segmentio.bundle */; }; D9EBCEA1512D4B307726BFEB5F29EF70 /* BadgeWithCounterViewStandardSized.xib in Resources */ = {isa = PBXBuildFile; fileRef = 6E90ECA263F832D2C77F806A4581AE25 /* BadgeWithCounterViewStandardSized.xib */; };
EBFC5756AF3E115F05FA843982EA45A6 /* BadgeWithCounterViewStandardSized.xib in Resources */ = {isa = PBXBuildFile; fileRef = 6E90ECA263F832D2C77F806A4581AE25 /* BadgeWithCounterViewStandardSized.xib */; }; E6E0179AF8247CB20CB77A1E33C88C7F /* RoundImageView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A561B2B4C70B40E0E028301D454D3EBF /* RoundImageView.swift */; };
FBD5F9C12B94DAB4178B539E51B01AD5 /* Pods-Segmentio_Example-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 8758BAC37EDDE6390078CCD596B97C99 /* Pods-Segmentio_Example-dummy.m */; }; EA89BD32CAE3C825C749261B9D4A2031 /* Pods-Segmentio_Example-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = FCCE72372A4C77BEF387923951E588F2 /* Pods-Segmentio_Example-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; };
FFB295F820F3A3F6A6BCFFDA612EE269 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6604A7D69453B4569E4E4827FB9155A9 /* Foundation.framework */; }; F6814CD90D68BE2911E97CE7F62E5DA1 /* BadgeWithCounterView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 64BE9AEFB42AAAC25501C181FF72B653 /* BadgeWithCounterView.swift */; };
/* End PBXBuildFile section */ /* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */ /* Begin PBXContainerItemProxy section */
1CD5EA631E033BE1FFAC1F0278614DDB /* PBXContainerItemProxy */ = { A6C32E782852D555836218D4A7416DD0 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy; isa = PBXContainerItemProxy;
containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */;
proxyType = 1; proxyType = 1;
remoteGlobalIDString = 699603020952F58BDBA3104C9DFFCE8D; remoteGlobalIDString = D69CC732EFB91EE42BE73E5030BD387C;
remoteInfo = Segmentio; remoteInfo = Segmentio;
}; };
FC9446558039D9AF888D6FE6B4955A11 /* PBXContainerItemProxy */ = { B485C2D39BE98A2AA0F4993CC65D306C /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy; isa = PBXContainerItemProxy;
containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */;
proxyType = 1; proxyType = 1;
remoteGlobalIDString = 50E4AD31DE0962A93E2FB9A9936DE5A5; remoteGlobalIDString = D8AEF8C76AD2A8E5BDCDA4CC1BD107B6;
remoteInfo = "Segmentio-Segmentio"; remoteInfo = "Segmentio-Segmentio";
}; };
/* End PBXContainerItemProxy section */ /* End PBXContainerItemProxy section */
@ -55,18 +55,17 @@
11C011383E55FDF0C1CFAA8E1E01F52C /* BadgeWithCounterViewBigSized.xib */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = file.xib; path = BadgeWithCounterViewBigSized.xib; sourceTree = "<group>"; }; 11C011383E55FDF0C1CFAA8E1E01F52C /* BadgeWithCounterViewBigSized.xib */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = file.xib; path = BadgeWithCounterViewBigSized.xib; sourceTree = "<group>"; };
1224468BD5929E62BFF27E1C11853D24 /* SegmentioOptions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SegmentioOptions.swift; sourceTree = "<group>"; }; 1224468BD5929E62BFF27E1C11853D24 /* SegmentioOptions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SegmentioOptions.swift; sourceTree = "<group>"; };
1BF90D3EF6772ECC6F43EF17AAB5C916 /* SegmentioCellWithImage.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SegmentioCellWithImage.swift; sourceTree = "<group>"; }; 1BF90D3EF6772ECC6F43EF17AAB5C916 /* SegmentioCellWithImage.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SegmentioCellWithImage.swift; sourceTree = "<group>"; };
2AAAF5E594CC994BE5AD10F8928BC48A /* Segmentio.bundle */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; name = Segmentio.bundle; path = Segmentio.bundle; sourceTree = BUILT_PRODUCTS_DIR; }; 2AAAF5E594CC994BE5AD10F8928BC48A /* Segmentio.bundle */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = Segmentio.bundle; sourceTree = BUILT_PRODUCTS_DIR; };
37602088D7DDBEBF54BCE7CAF18CB105 /* Pods-Segmentio_Example.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-Segmentio_Example.debug.xcconfig"; sourceTree = "<group>"; }; 37602088D7DDBEBF54BCE7CAF18CB105 /* Pods-Segmentio_Example.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-Segmentio_Example.debug.xcconfig"; sourceTree = "<group>"; };
38BC6E8817CCBFF23555995D47BF0848 /* UIView+Appearance.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "UIView+Appearance.swift"; sourceTree = "<group>"; }; 38BC6E8817CCBFF23555995D47BF0848 /* UIView+Appearance.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "UIView+Appearance.swift"; sourceTree = "<group>"; };
39CC3133DEC50AE996B30883B4A76CFC /* Segmentio-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Segmentio-prefix.pch"; sourceTree = "<group>"; }; 39CC3133DEC50AE996B30883B4A76CFC /* Segmentio-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Segmentio-prefix.pch"; sourceTree = "<group>"; };
428DB76E87B8795FDAD056914F0EB8BD /* Pods-Segmentio_Example-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-Segmentio_Example-acknowledgements.markdown"; sourceTree = "<group>"; }; 428DB76E87B8795FDAD056914F0EB8BD /* Pods-Segmentio_Example-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-Segmentio_Example-acknowledgements.markdown"; sourceTree = "<group>"; };
4DA45A534C62C7379DB6EF50F3B4DBFA /* Segmentio.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; path = Segmentio.modulemap; sourceTree = "<group>"; }; 4DA45A534C62C7379DB6EF50F3B4DBFA /* Segmentio.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = "sourcecode.module-map"; path = Segmentio.modulemap; sourceTree = "<group>"; };
5152D5684BA571B16D3CBB78B9F81B75 /* Pods-Segmentio_Example-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-Segmentio_Example-acknowledgements.plist"; sourceTree = "<group>"; }; 5152D5684BA571B16D3CBB78B9F81B75 /* Pods-Segmentio_Example-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-Segmentio_Example-acknowledgements.plist"; sourceTree = "<group>"; };
564D3D18F6E439E721C7D49AC8379559 /* SegmentioCellWithImageAfterLabel.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SegmentioCellWithImageAfterLabel.swift; sourceTree = "<group>"; }; 564D3D18F6E439E721C7D49AC8379559 /* SegmentioCellWithImageAfterLabel.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SegmentioCellWithImageAfterLabel.swift; sourceTree = "<group>"; };
56D84AE8DDC577C7E7499059038BABBC /* SegmentioCellWithImageBeforeLabel.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SegmentioCellWithImageBeforeLabel.swift; sourceTree = "<group>"; }; 56D84AE8DDC577C7E7499059038BABBC /* SegmentioCellWithImageBeforeLabel.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SegmentioCellWithImageBeforeLabel.swift; sourceTree = "<group>"; };
5D4E8D49DE85EE73865F0FFAE93ACDA8 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; }; 5D4E8D49DE85EE73865F0FFAE93ACDA8 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
64BE9AEFB42AAAC25501C181FF72B653 /* BadgeWithCounterView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = BadgeWithCounterView.swift; sourceTree = "<group>"; }; 64BE9AEFB42AAAC25501C181FF72B653 /* BadgeWithCounterView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = BadgeWithCounterView.swift; sourceTree = "<group>"; };
6604A7D69453B4569E4E4827FB9155A9 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.3.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; };
6A4666D5034926280B3C39CB8CA59319 /* SegmentioCellWithLabel.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SegmentioCellWithLabel.swift; sourceTree = "<group>"; }; 6A4666D5034926280B3C39CB8CA59319 /* SegmentioCellWithLabel.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SegmentioCellWithLabel.swift; sourceTree = "<group>"; };
6E90ECA263F832D2C77F806A4581AE25 /* BadgeWithCounterViewStandardSized.xib */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = file.xib; path = BadgeWithCounterViewStandardSized.xib; sourceTree = "<group>"; }; 6E90ECA263F832D2C77F806A4581AE25 /* BadgeWithCounterViewStandardSized.xib */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = file.xib; path = BadgeWithCounterViewStandardSized.xib; sourceTree = "<group>"; };
71AC7FDBBA82CCF64068DC1436B7C44C /* SegmentioCellWithImageOverLabel.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SegmentioCellWithImageOverLabel.swift; sourceTree = "<group>"; }; 71AC7FDBBA82CCF64068DC1436B7C44C /* SegmentioCellWithImageOverLabel.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SegmentioCellWithImageOverLabel.swift; sourceTree = "<group>"; };
@ -75,42 +74,43 @@
8758BAC37EDDE6390078CCD596B97C99 /* Pods-Segmentio_Example-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-Segmentio_Example-dummy.m"; sourceTree = "<group>"; }; 8758BAC37EDDE6390078CCD596B97C99 /* Pods-Segmentio_Example-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-Segmentio_Example-dummy.m"; sourceTree = "<group>"; };
9034CEC1DC6A90954C69B5CF0A879E9D /* SegmentioCell.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SegmentioCell.swift; sourceTree = "<group>"; }; 9034CEC1DC6A90954C69B5CF0A879E9D /* SegmentioCell.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SegmentioCell.swift; sourceTree = "<group>"; };
917595D61BE778C2053B6C375292B042 /* SegmentioCellWithImageUnderLabel.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SegmentioCellWithImageUnderLabel.swift; sourceTree = "<group>"; }; 917595D61BE778C2053B6C375292B042 /* SegmentioCellWithImageUnderLabel.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SegmentioCellWithImageUnderLabel.swift; sourceTree = "<group>"; };
93A4A3777CF96A4AAC1D13BA6DCCEA73 /* Podfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; lastKnownFileType = text; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; 93A4A3777CF96A4AAC1D13BA6DCCEA73 /* Podfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; xcLanguageSpecificationIdentifier = xcode.lang.ruby; };
9D06B7FD5EDA771583A3CF08D0F68DE9 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; }; 9D06B7FD5EDA771583A3CF08D0F68DE9 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
A561B2B4C70B40E0E028301D454D3EBF /* RoundImageView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RoundImageView.swift; sourceTree = "<group>"; }; A561B2B4C70B40E0E028301D454D3EBF /* RoundImageView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RoundImageView.swift; sourceTree = "<group>"; };
AAF3441A43AA58E58A7340FA1E66271B /* Segmentio.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Segmentio.xcconfig; sourceTree = "<group>"; }; AAF3441A43AA58E58A7340FA1E66271B /* Segmentio.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Segmentio.xcconfig; sourceTree = "<group>"; };
AE666A58F4294719B8B89D33423889C4 /* Pods-Segmentio_Example-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-Segmentio_Example-resources.sh"; sourceTree = "<group>"; }; AE666A58F4294719B8B89D33423889C4 /* Pods-Segmentio_Example-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-Segmentio_Example-resources.sh"; sourceTree = "<group>"; };
B07FA81FE6C58F8096D157CF2D32550A /* Pods_Segmentio_Example.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Pods_Segmentio_Example.framework; path = "Pods-Segmentio_Example.framework"; sourceTree = BUILT_PRODUCTS_DIR; }; B07FA81FE6C58F8096D157CF2D32550A /* Pods_Segmentio_Example.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Segmentio_Example.framework; sourceTree = BUILT_PRODUCTS_DIR; };
B2527411739A24C97909490FC5C54F10 /* Pods-Segmentio_Example.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; path = "Pods-Segmentio_Example.modulemap"; sourceTree = "<group>"; }; B2527411739A24C97909490FC5C54F10 /* Pods-Segmentio_Example.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = "sourcecode.module-map"; path = "Pods-Segmentio_Example.modulemap"; sourceTree = "<group>"; };
B5ED1F4A55A82441D24099184B5077B5 /* ResourceBundle-Segmentio-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "ResourceBundle-Segmentio-Info.plist"; sourceTree = "<group>"; }; B5ED1F4A55A82441D24099184B5077B5 /* ResourceBundle-Segmentio-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "ResourceBundle-Segmentio-Info.plist"; sourceTree = "<group>"; };
C373AAC9C68346B42AC567AD943825F7 /* Segmentio.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Segmentio.framework; path = Segmentio.framework; sourceTree = BUILT_PRODUCTS_DIR; }; C373AAC9C68346B42AC567AD943825F7 /* Segmentio.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Segmentio.framework; sourceTree = BUILT_PRODUCTS_DIR; };
C56AE5AC5779B7D4F6468D2AB474D9E7 /* Segmentio-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Segmentio-dummy.m"; sourceTree = "<group>"; }; C56AE5AC5779B7D4F6468D2AB474D9E7 /* Segmentio-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Segmentio-dummy.m"; sourceTree = "<group>"; };
CEC22C73C1608DFA5D5D78BDCB218219 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.3.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; };
D91D0C0018887EA8F91F91162FF71F60 /* Segmentio.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Segmentio.swift; sourceTree = "<group>"; }; D91D0C0018887EA8F91F91162FF71F60 /* Segmentio.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Segmentio.swift; sourceTree = "<group>"; };
E3C9CACA5CC49ABD89BB5C0082B56F17 /* BadgeViewPresenter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = BadgeViewPresenter.swift; sourceTree = "<group>"; }; E3C9CACA5CC49ABD89BB5C0082B56F17 /* BadgeViewPresenter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = BadgeViewPresenter.swift; sourceTree = "<group>"; };
FCCE72372A4C77BEF387923951E588F2 /* Pods-Segmentio_Example-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-Segmentio_Example-umbrella.h"; sourceTree = "<group>"; }; FCCE72372A4C77BEF387923951E588F2 /* Pods-Segmentio_Example-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-Segmentio_Example-umbrella.h"; sourceTree = "<group>"; };
/* End PBXFileReference section */ /* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */ /* Begin PBXFrameworksBuildPhase section */
1032A4A2B2D865D1364B0D814D15B03F /* Frameworks */ = { CF0100512E0E927F05DB406E0E01DF38 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
FFB295F820F3A3F6A6BCFFDA612EE269 /* Foundation.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
89A56CD477E5A8C2040C847A66A1BB44 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase; isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647; buildActionMask = 2147483647;
files = ( files = (
); );
runOnlyForDeploymentPostprocessing = 0; runOnlyForDeploymentPostprocessing = 0;
}; };
E3DDCE9DEA1F5BC20D4245CB9DC81BED /* Frameworks */ = { DD95959AB8521184CAFA5D68D3F0C0BA /* Frameworks */ = {
isa = PBXFrameworksBuildPhase; isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647; buildActionMask = 2147483647;
files = ( files = (
E1A4407E88B99A006D9E2C92438128A4 /* Foundation.framework in Frameworks */, C1518E27E6C853C813006C349427A4CC /* Foundation.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
FD59EF5B4845512C0FE01CF908756FB5 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
D29DE39BAA26D8E4DA7534F05DFB78F4 /* Foundation.framework in Frameworks */,
); );
runOnlyForDeploymentPostprocessing = 0; runOnlyForDeploymentPostprocessing = 0;
}; };
@ -123,7 +123,6 @@
A561B2B4C70B40E0E028301D454D3EBF /* RoundImageView.swift */, A561B2B4C70B40E0E028301D454D3EBF /* RoundImageView.swift */,
38BC6E8817CCBFF23555995D47BF0848 /* UIView+Appearance.swift */, 38BC6E8817CCBFF23555995D47BF0848 /* UIView+Appearance.swift */,
); );
name = Extensions;
path = Extensions; path = Extensions;
sourceTree = "<group>"; sourceTree = "<group>";
}; };
@ -140,7 +139,6 @@
children = ( children = (
C65C2B1DCC149D19571A5F7FAE3D31AF /* Views */, C65C2B1DCC149D19571A5F7FAE3D31AF /* Views */,
); );
name = Badge;
path = Badge; path = Badge;
sourceTree = "<group>"; sourceTree = "<group>";
}; };
@ -155,6 +153,14 @@
path = ../..; path = ../..;
sourceTree = "<group>"; sourceTree = "<group>";
}; };
3DCAB2B7CDE207B3958B6CB957FCC758 /* iOS */ = {
isa = PBXGroup;
children = (
CEC22C73C1608DFA5D5D78BDCB218219 /* Foundation.framework */,
);
name = iOS;
sourceTree = "<group>";
};
413F9187DDE34CC36B0E06866BC84500 /* Support Files */ = { 413F9187DDE34CC36B0E06866BC84500 /* Support Files */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
@ -175,7 +181,6 @@
children = ( children = (
64BE9AEFB42AAAC25501C181FF72B653 /* BadgeWithCounterView.swift */, 64BE9AEFB42AAAC25501C181FF72B653 /* BadgeWithCounterView.swift */,
); );
name = Views;
path = Views; path = Views;
sourceTree = "<group>"; sourceTree = "<group>";
}; };
@ -216,7 +221,6 @@
917595D61BE778C2053B6C375292B042 /* SegmentioCellWithImageUnderLabel.swift */, 917595D61BE778C2053B6C375292B042 /* SegmentioCellWithImageUnderLabel.swift */,
6A4666D5034926280B3C39CB8CA59319 /* SegmentioCellWithLabel.swift */, 6A4666D5034926280B3C39CB8CA59319 /* SegmentioCellWithLabel.swift */,
); );
name = Cells;
path = Cells; path = Cells;
sourceTree = "<group>"; sourceTree = "<group>";
}; };
@ -248,7 +252,6 @@
71680BC21E0B1ABC000B38795FC22CBC /* Cells */, 71680BC21E0B1ABC000B38795FC22CBC /* Cells */,
00A2FBBF1263542044856398E75BAA76 /* Extensions */, 00A2FBBF1263542044856398E75BAA76 /* Extensions */,
); );
name = Source;
path = Source; path = Source;
sourceTree = "<group>"; sourceTree = "<group>";
}; };
@ -257,14 +260,13 @@
children = ( children = (
A4FF14891748501365A9790ED2BDF024 /* Source */, A4FF14891748501365A9790ED2BDF024 /* Source */,
); );
name = Segmentio;
path = Segmentio; path = Segmentio;
sourceTree = "<group>"; sourceTree = "<group>";
}; };
BC3CA7F9E30CC8F7E2DD044DD34432FC /* Frameworks */ = { BC3CA7F9E30CC8F7E2DD044DD34432FC /* Frameworks */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
D35AF013A5F0BAD4F32504907A52519E /* iOS */, 3DCAB2B7CDE207B3958B6CB957FCC758 /* iOS */,
); );
name = Frameworks; name = Frameworks;
sourceTree = "<group>"; sourceTree = "<group>";
@ -275,7 +277,6 @@
11C011383E55FDF0C1CFAA8E1E01F52C /* BadgeWithCounterViewBigSized.xib */, 11C011383E55FDF0C1CFAA8E1E01F52C /* BadgeWithCounterViewBigSized.xib */,
6E90ECA263F832D2C77F806A4581AE25 /* BadgeWithCounterViewStandardSized.xib */, 6E90ECA263F832D2C77F806A4581AE25 /* BadgeWithCounterViewStandardSized.xib */,
); );
name = Views;
path = Views; path = Views;
sourceTree = "<group>"; sourceTree = "<group>";
}; };
@ -285,7 +286,6 @@
E3C9CACA5CC49ABD89BB5C0082B56F17 /* BadgeViewPresenter.swift */, E3C9CACA5CC49ABD89BB5C0082B56F17 /* BadgeViewPresenter.swift */,
635B6B346CBAAB1DB0593E0D25A25ED9 /* Views */, 635B6B346CBAAB1DB0593E0D25A25ED9 /* Views */,
); );
name = Badge;
path = Badge; path = Badge;
sourceTree = "<group>"; sourceTree = "<group>";
}; };
@ -299,20 +299,11 @@
name = Products; name = Products;
sourceTree = "<group>"; sourceTree = "<group>";
}; };
D35AF013A5F0BAD4F32504907A52519E /* iOS */ = {
isa = PBXGroup;
children = (
6604A7D69453B4569E4E4827FB9155A9 /* Foundation.framework */,
);
name = iOS;
sourceTree = "<group>";
};
D99857A2684E0E97D1E32D0B130B5366 /* Segmentio */ = { D99857A2684E0E97D1E32D0B130B5366 /* Segmentio */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
F1249F9ED37CBEF49B81DE98EA2709C1 /* Source */, F1249F9ED37CBEF49B81DE98EA2709C1 /* Source */,
); );
name = Segmentio;
path = Segmentio; path = Segmentio;
sourceTree = "<group>"; sourceTree = "<group>";
}; };
@ -321,39 +312,75 @@
children = ( children = (
1C2ABA084F34F1E71EB56C0EA2DD4699 /* Badge */, 1C2ABA084F34F1E71EB56C0EA2DD4699 /* Badge */,
); );
name = Source;
path = Source; path = Source;
sourceTree = "<group>"; sourceTree = "<group>";
}; };
/* End PBXGroup section */ /* End PBXGroup section */
/* Begin PBXHeadersBuildPhase section */ /* Begin PBXHeadersBuildPhase section */
598C65CEC64B0118F582684A6FAE8940 /* Headers */ = { 5ADAE197C16A9C5A10D0C5F779D181D8 /* Headers */ = {
isa = PBXHeadersBuildPhase; isa = PBXHeadersBuildPhase;
buildActionMask = 2147483647; buildActionMask = 2147483647;
files = ( files = (
B222BF92FB6B2AB1570468B413B9574C /* Pods-Segmentio_Example-umbrella.h in Headers */, 933D56EF2ECC35F1387B739170AFE07B /* Segmentio-umbrella.h in Headers */,
); );
runOnlyForDeploymentPostprocessing = 0; runOnlyForDeploymentPostprocessing = 0;
}; };
6F0BC796080758E4FAABD24B01791B29 /* Headers */ = { C1CCF605E0A81C17A47094F5032DBFAE /* Headers */ = {
isa = PBXHeadersBuildPhase; isa = PBXHeadersBuildPhase;
buildActionMask = 2147483647; buildActionMask = 2147483647;
files = ( files = (
9F8DE05359BBE5FE5D6CDF44981E2748 /* Segmentio-umbrella.h in Headers */, EA89BD32CAE3C825C749261B9D4A2031 /* Pods-Segmentio_Example-umbrella.h in Headers */,
); );
runOnlyForDeploymentPostprocessing = 0; runOnlyForDeploymentPostprocessing = 0;
}; };
/* End PBXHeadersBuildPhase section */ /* End PBXHeadersBuildPhase section */
/* Begin PBXNativeTarget section */ /* Begin PBXNativeTarget section */
50E4AD31DE0962A93E2FB9A9936DE5A5 /* Segmentio-Segmentio */ = { 1773C65AAC9F8837BB8142660D7320E0 /* Pods-Segmentio_Example */ = {
isa = PBXNativeTarget; isa = PBXNativeTarget;
buildConfigurationList = 2041218D8A7CEE9097033B80A896D7B1 /* Build configuration list for PBXNativeTarget "Segmentio-Segmentio" */; buildConfigurationList = CC37EAE0F58FC2B11F123B84FE6B0FAC /* Build configuration list for PBXNativeTarget "Pods-Segmentio_Example" */;
buildPhases = ( buildPhases = (
3F54670759DAE1C79D7082F7577C96BC /* Sources */, 5B2B601769FDD1B81F6ECD3FBC7CAF20 /* Sources */,
89A56CD477E5A8C2040C847A66A1BB44 /* Frameworks */, DD95959AB8521184CAFA5D68D3F0C0BA /* Frameworks */,
AE553F700E4B89BB20D4562B90C6FDD8 /* Resources */, C1CCF605E0A81C17A47094F5032DBFAE /* Headers */,
);
buildRules = (
);
dependencies = (
D49BEB0E5AAF16F8BE48EA55C820C1A4 /* PBXTargetDependency */,
);
name = "Pods-Segmentio_Example";
productName = "Pods-Segmentio_Example";
productReference = B07FA81FE6C58F8096D157CF2D32550A /* Pods_Segmentio_Example.framework */;
productType = "com.apple.product-type.framework";
};
D69CC732EFB91EE42BE73E5030BD387C /* Segmentio */ = {
isa = PBXNativeTarget;
buildConfigurationList = 785D3215E776BE829EB1D98F89F1A8C1 /* Build configuration list for PBXNativeTarget "Segmentio" */;
buildPhases = (
F9B7581237D6E81DE197B72773B36420 /* Sources */,
FD59EF5B4845512C0FE01CF908756FB5 /* Frameworks */,
F167B0867D416B414A778DE5486644A6 /* Resources */,
5ADAE197C16A9C5A10D0C5F779D181D8 /* Headers */,
);
buildRules = (
);
dependencies = (
7EE0160D6232AE6A93308C253B5E48D6 /* PBXTargetDependency */,
);
name = Segmentio;
productName = Segmentio;
productReference = C373AAC9C68346B42AC567AD943825F7 /* Segmentio.framework */;
productType = "com.apple.product-type.framework";
};
D8AEF8C76AD2A8E5BDCDA4CC1BD107B6 /* Segmentio-Segmentio */ = {
isa = PBXNativeTarget;
buildConfigurationList = BD0B4F1676768CCD5A8C4B0E5B53427F /* Build configuration list for PBXNativeTarget "Segmentio-Segmentio" */;
buildPhases = (
BECDA7466A3F2048BD0D16982C6C441A /* Sources */,
CF0100512E0E927F05DB406E0E01DF38 /* Frameworks */,
2DA0271DF525DE03AD9084DEC244781A /* Resources */,
); );
buildRules = ( buildRules = (
); );
@ -364,50 +391,13 @@
productReference = 2AAAF5E594CC994BE5AD10F8928BC48A /* Segmentio.bundle */; productReference = 2AAAF5E594CC994BE5AD10F8928BC48A /* Segmentio.bundle */;
productType = "com.apple.product-type.bundle"; productType = "com.apple.product-type.bundle";
}; };
699603020952F58BDBA3104C9DFFCE8D /* Segmentio */ = {
isa = PBXNativeTarget;
buildConfigurationList = AEAE75D2FEC7B21249461B615D5A77D0 /* Build configuration list for PBXNativeTarget "Segmentio" */;
buildPhases = (
26746DB23C01A10BE83BA4ED72329865 /* Sources */,
E3DDCE9DEA1F5BC20D4245CB9DC81BED /* Frameworks */,
EC2DCA2DC35D6B0CC028F0166FFB89D3 /* Resources */,
6F0BC796080758E4FAABD24B01791B29 /* Headers */,
);
buildRules = (
);
dependencies = (
0DCD8E423B2B77C138FA0726DE2A5C2D /* PBXTargetDependency */,
);
name = Segmentio;
productName = Segmentio;
productReference = C373AAC9C68346B42AC567AD943825F7 /* Segmentio.framework */;
productType = "com.apple.product-type.framework";
};
FA42DDB511D342F4A39A132C777D0021 /* Pods-Segmentio_Example */ = {
isa = PBXNativeTarget;
buildConfigurationList = A1D1618119E2E7C51F19EB05FDF5156C /* Build configuration list for PBXNativeTarget "Pods-Segmentio_Example" */;
buildPhases = (
71E9F4CE9357EDBDEEE4D005D3A6F583 /* Sources */,
1032A4A2B2D865D1364B0D814D15B03F /* Frameworks */,
598C65CEC64B0118F582684A6FAE8940 /* Headers */,
);
buildRules = (
);
dependencies = (
76FB2D568968517D610E58E6DE20B975 /* PBXTargetDependency */,
);
name = "Pods-Segmentio_Example";
productName = "Pods-Segmentio_Example";
productReference = B07FA81FE6C58F8096D157CF2D32550A /* Pods_Segmentio_Example.framework */;
productType = "com.apple.product-type.framework";
};
/* End PBXNativeTarget section */ /* End PBXNativeTarget section */
/* Begin PBXProject section */ /* Begin PBXProject section */
D41D8CD98F00B204E9800998ECF8427E /* Project object */ = { D41D8CD98F00B204E9800998ECF8427E /* Project object */ = {
isa = PBXProject; isa = PBXProject;
attributes = { attributes = {
LastSwiftUpdateCheck = 0830; LastSwiftUpdateCheck = 0730;
LastUpgradeCheck = 0700; LastUpgradeCheck = 0700;
}; };
buildConfigurationList = 2D8E8EC45A3A1A1D94AE762CB5028504 /* Build configuration list for PBXProject "Pods" */; buildConfigurationList = 2D8E8EC45A3A1A1D94AE762CB5028504 /* Build configuration list for PBXProject "Pods" */;
@ -422,134 +412,95 @@
projectDirPath = ""; projectDirPath = "";
projectRoot = ""; projectRoot = "";
targets = ( targets = (
FA42DDB511D342F4A39A132C777D0021 /* Pods-Segmentio_Example */, 1773C65AAC9F8837BB8142660D7320E0 /* Pods-Segmentio_Example */,
699603020952F58BDBA3104C9DFFCE8D /* Segmentio */, D69CC732EFB91EE42BE73E5030BD387C /* Segmentio */,
50E4AD31DE0962A93E2FB9A9936DE5A5 /* Segmentio-Segmentio */, D8AEF8C76AD2A8E5BDCDA4CC1BD107B6 /* Segmentio-Segmentio */,
); );
}; };
/* End PBXProject section */ /* End PBXProject section */
/* Begin PBXResourcesBuildPhase section */ /* Begin PBXResourcesBuildPhase section */
AE553F700E4B89BB20D4562B90C6FDD8 /* Resources */ = { 2DA0271DF525DE03AD9084DEC244781A /* Resources */ = {
isa = PBXResourcesBuildPhase; isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647; buildActionMask = 2147483647;
files = ( files = (
E358BED78F38E8EE9D622B189132F620 /* BadgeWithCounterViewBigSized.xib in Resources */, 8F726950BDA00432603D2B6B01881D59 /* BadgeWithCounterViewBigSized.xib in Resources */,
10DBA0DC35646EAA223634A2DD73D86B /* BadgeWithCounterViewStandardSized.xib in Resources */, 655C575E9623729978F286F79E4EAEB8 /* BadgeWithCounterViewStandardSized.xib in Resources */,
); );
runOnlyForDeploymentPostprocessing = 0; runOnlyForDeploymentPostprocessing = 0;
}; };
EC2DCA2DC35D6B0CC028F0166FFB89D3 /* Resources */ = { F167B0867D416B414A778DE5486644A6 /* Resources */ = {
isa = PBXResourcesBuildPhase; isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647; buildActionMask = 2147483647;
files = ( files = (
D2C5536F2936DAFDFB2EB014181A8CD2 /* BadgeWithCounterViewBigSized.xib in Resources */, C4EFEC716055615A27A3D1338426807D /* BadgeWithCounterViewBigSized.xib in Resources */,
EBFC5756AF3E115F05FA843982EA45A6 /* BadgeWithCounterViewStandardSized.xib in Resources */, D9EBCEA1512D4B307726BFEB5F29EF70 /* BadgeWithCounterViewStandardSized.xib in Resources */,
E9CCB40A40C825036DBE3AE35204A564 /* Segmentio.bundle in Resources */, 1F40A33F3F753FF73C5F80F006E14410 /* Segmentio.bundle in Resources */,
); );
runOnlyForDeploymentPostprocessing = 0; runOnlyForDeploymentPostprocessing = 0;
}; };
/* End PBXResourcesBuildPhase section */ /* End PBXResourcesBuildPhase section */
/* Begin PBXSourcesBuildPhase section */ /* Begin PBXSourcesBuildPhase section */
26746DB23C01A10BE83BA4ED72329865 /* Sources */ = { 5B2B601769FDD1B81F6ECD3FBC7CAF20 /* Sources */ = {
isa = PBXSourcesBuildPhase; isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647; buildActionMask = 2147483647;
files = ( files = (
9B1A0F3B28E1D7077074244267A7CC06 /* BadgeViewPresenter.swift in Sources */, 0BC7695D61D9046BFBE6CFD6B47FFFE1 /* Pods-Segmentio_Example-dummy.m in Sources */,
802CB441FA23AAC29D23AF3266B93C81 /* BadgeWithCounterView.swift in Sources */,
4A6BC5F77C2DC7121875E9796CC0F71C /* RoundImageView.swift in Sources */,
AC1BDB567F0F35B766CA875725D48E4B /* Segmentio-dummy.m in Sources */,
BBBD49F8C72F89C61AF39D22CB78482D /* Segmentio.swift in Sources */,
CB4E396274804674528FDEF730FFE204 /* SegmentioCell.swift in Sources */,
1F0E113E30DFCE466DADCD6B36FB9563 /* SegmentioCellWithImage.swift in Sources */,
CA80C8652BBBA628FBACB72025D31AB5 /* SegmentioCellWithImageAfterLabel.swift in Sources */,
C460163ABA2667473711E5076164BEA6 /* SegmentioCellWithImageBeforeLabel.swift in Sources */,
C4D341CAAFF7C6E722E2FA0B51123051 /* SegmentioCellWithImageOverLabel.swift in Sources */,
E49AB26D0E6E0A15958BA72E63E66F24 /* SegmentioCellWithImageUnderLabel.swift in Sources */,
6C19E98544CCC74ACB0435CF36812D7E /* SegmentioCellWithLabel.swift in Sources */,
65CBF11B7E36B8038CA96C7154BD593F /* SegmentioOptions.swift in Sources */,
9C52286A3F04BE4FFB59CE603E85EE33 /* UIView+Appearance.swift in Sources */,
); );
runOnlyForDeploymentPostprocessing = 0; runOnlyForDeploymentPostprocessing = 0;
}; };
3F54670759DAE1C79D7082F7577C96BC /* Sources */ = { BECDA7466A3F2048BD0D16982C6C441A /* Sources */ = {
isa = PBXSourcesBuildPhase; isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647; buildActionMask = 2147483647;
files = ( files = (
); );
runOnlyForDeploymentPostprocessing = 0; runOnlyForDeploymentPostprocessing = 0;
}; };
71E9F4CE9357EDBDEEE4D005D3A6F583 /* Sources */ = { F9B7581237D6E81DE197B72773B36420 /* Sources */ = {
isa = PBXSourcesBuildPhase; isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647; buildActionMask = 2147483647;
files = ( files = (
FBD5F9C12B94DAB4178B539E51B01AD5 /* Pods-Segmentio_Example-dummy.m in Sources */, 9EE6B5FE2A8EA2C0612C11D34596B7EB /* BadgeViewPresenter.swift in Sources */,
F6814CD90D68BE2911E97CE7F62E5DA1 /* BadgeWithCounterView.swift in Sources */,
E6E0179AF8247CB20CB77A1E33C88C7F /* RoundImageView.swift in Sources */,
1E8DCF6AD4051E3F7CFD9B55341DD455 /* Segmentio-dummy.m in Sources */,
5BE82675DB7F0C7671EADA9CF99A3C1B /* Segmentio.swift in Sources */,
0BC8A81C32C10C3EB2DDF82EAD33481D /* SegmentioCell.swift in Sources */,
BC2B9C2A1711F5583A80C1FA7F6F195F /* SegmentioCellWithImage.swift in Sources */,
4E01C978EC149C600FF7658A6757204A /* SegmentioCellWithImageAfterLabel.swift in Sources */,
C917381BC4E7C5EFBC2CD2C898C1C8E4 /* SegmentioCellWithImageBeforeLabel.swift in Sources */,
0906DB2204F3DA0B929ED2B2FD92C3BE /* SegmentioCellWithImageOverLabel.swift in Sources */,
20218D2C75E1CA8E41531E94BA06C129 /* SegmentioCellWithImageUnderLabel.swift in Sources */,
2DA5CD5E23B0E19B8FA2F11146E4A0E5 /* SegmentioCellWithLabel.swift in Sources */,
11E7945679FA0D80B96BC5DA4B1D00D0 /* SegmentioOptions.swift in Sources */,
C3DB5E9DDBA27211C6E8654A363CA0BC /* UIView+Appearance.swift in Sources */,
); );
runOnlyForDeploymentPostprocessing = 0; runOnlyForDeploymentPostprocessing = 0;
}; };
/* End PBXSourcesBuildPhase section */ /* End PBXSourcesBuildPhase section */
/* Begin PBXTargetDependency section */ /* Begin PBXTargetDependency section */
0DCD8E423B2B77C138FA0726DE2A5C2D /* PBXTargetDependency */ = { 7EE0160D6232AE6A93308C253B5E48D6 /* PBXTargetDependency */ = {
isa = PBXTargetDependency; isa = PBXTargetDependency;
name = "Segmentio-Segmentio"; name = "Segmentio-Segmentio";
target = 50E4AD31DE0962A93E2FB9A9936DE5A5 /* Segmentio-Segmentio */; target = D8AEF8C76AD2A8E5BDCDA4CC1BD107B6 /* Segmentio-Segmentio */;
targetProxy = FC9446558039D9AF888D6FE6B4955A11 /* PBXContainerItemProxy */; targetProxy = B485C2D39BE98A2AA0F4993CC65D306C /* PBXContainerItemProxy */;
}; };
76FB2D568968517D610E58E6DE20B975 /* PBXTargetDependency */ = { D49BEB0E5AAF16F8BE48EA55C820C1A4 /* PBXTargetDependency */ = {
isa = PBXTargetDependency; isa = PBXTargetDependency;
name = Segmentio; name = Segmentio;
target = 699603020952F58BDBA3104C9DFFCE8D /* Segmentio */; target = D69CC732EFB91EE42BE73E5030BD387C /* Segmentio */;
targetProxy = 1CD5EA631E033BE1FFAC1F0278614DDB /* PBXContainerItemProxy */; targetProxy = A6C32E782852D555836218D4A7416DD0 /* PBXContainerItemProxy */;
}; };
/* End PBXTargetDependency section */ /* End PBXTargetDependency section */
/* Begin XCBuildConfiguration section */ /* Begin XCBuildConfiguration section */
0CAC0F262E7DD097927860FC763994DF /* Release */ = { 015A368F878AC3E2CEAE21DDE8026304 /* Debug */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 808E8A2F66FEF9BFA423C8B51FEB3FD3 /* Pods-Segmentio_Example.release.xcconfig */;
buildSettings = {
CODE_SIGN_IDENTITY = "";
"CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
"CODE_SIGN_IDENTITY[sdk=watchos*]" = "";
CURRENT_PROJECT_VERSION = 1;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
DEFINES_MODULE = YES;
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
DYLIB_INSTALL_NAME_BASE = "@rpath";
ENABLE_STRICT_OBJC_MSGSEND = YES;
GCC_NO_COMMON_BLOCKS = YES;
INFOPLIST_FILE = "Target Support Files/Pods-Segmentio_Example/Info.plist";
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
MACH_O_TYPE = staticlib;
MODULEMAP_FILE = "Target Support Files/Pods-Segmentio_Example/Pods-Segmentio_Example.modulemap";
MTL_ENABLE_DEBUG_INFO = NO;
OTHER_LDFLAGS = "";
OTHER_LIBTOOLFLAGS = "";
PODS_ROOT = "$(SRCROOT)";
PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}";
PRODUCT_NAME = Pods_Segmentio_Example;
SDKROOT = iphoneos;
SKIP_INSTALL = YES;
SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule";
SWIFT_VERSION = 3.0;
TARGETED_DEVICE_FAMILY = "1,2";
VERSIONING_SYSTEM = "apple-generic";
VERSION_INFO_PREFIX = "";
};
name = Release;
};
34FE9531DA9AF2820790339988D5FF41 /* Release */ = {
isa = XCBuildConfiguration; isa = XCBuildConfiguration;
buildSettings = { buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO; ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_ANALYZER_NONNULL = YES; CLANG_ANALYZER_NONNULL = YES;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LIBRARY = "libc++"; CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_MODULES = YES;
@ -557,182 +508,10 @@
CLANG_WARN_BOOL_CONVERSION = YES; CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES; CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES; CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES;
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
CLANG_WARN_EMPTY_BODY = YES; CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES; CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES; CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
CODE_SIGNING_REQUIRED = NO;
COPY_PHASE_STRIP = YES;
ENABLE_NS_ASSERTIONS = NO;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_PREPROCESSOR_DEFINITIONS = (
"POD_CONFIGURATION_RELEASE=1",
"$(inherited)",
);
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
PROVISIONING_PROFILE_SPECIFIER = NO_SIGNING/;
STRIP_INSTALLED_PRODUCT = NO;
SYMROOT = "${SRCROOT}/../build";
VALIDATE_PRODUCT = YES;
};
name = Release;
};
4E822D5795BA9E4178943FED4D9C6AF4 /* Debug */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 37602088D7DDBEBF54BCE7CAF18CB105 /* Pods-Segmentio_Example.debug.xcconfig */;
buildSettings = {
CODE_SIGN_IDENTITY = "";
"CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
"CODE_SIGN_IDENTITY[sdk=watchos*]" = "";
CURRENT_PROJECT_VERSION = 1;
DEBUG_INFORMATION_FORMAT = dwarf;
DEFINES_MODULE = YES;
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
DYLIB_INSTALL_NAME_BASE = "@rpath";
ENABLE_STRICT_OBJC_MSGSEND = YES;
GCC_NO_COMMON_BLOCKS = YES;
INFOPLIST_FILE = "Target Support Files/Pods-Segmentio_Example/Info.plist";
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
MACH_O_TYPE = staticlib;
MODULEMAP_FILE = "Target Support Files/Pods-Segmentio_Example/Pods-Segmentio_Example.modulemap";
MTL_ENABLE_DEBUG_INFO = YES;
OTHER_LDFLAGS = "";
OTHER_LIBTOOLFLAGS = "";
PODS_ROOT = "$(SRCROOT)";
PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}";
PRODUCT_NAME = Pods_Segmentio_Example;
SDKROOT = iphoneos;
SKIP_INSTALL = YES;
SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
SWIFT_VERSION = 3.0;
TARGETED_DEVICE_FAMILY = "1,2";
VERSIONING_SYSTEM = "apple-generic";
VERSION_INFO_PREFIX = "";
};
name = Debug;
};
7661A8E2CE1CB37964D0DB637C77E431 /* Debug */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = AAF3441A43AA58E58A7340FA1E66271B /* Segmentio.xcconfig */;
buildSettings = {
CODE_SIGN_IDENTITY = "";
"CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
"CODE_SIGN_IDENTITY[sdk=watchos*]" = "";
CURRENT_PROJECT_VERSION = 1;
DEBUG_INFORMATION_FORMAT = dwarf;
DEFINES_MODULE = YES;
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
DYLIB_INSTALL_NAME_BASE = "@rpath";
ENABLE_STRICT_OBJC_MSGSEND = YES;
GCC_NO_COMMON_BLOCKS = YES;
GCC_PREFIX_HEADER = "Target Support Files/Segmentio/Segmentio-prefix.pch";
INFOPLIST_FILE = "Target Support Files/Segmentio/Info.plist";
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
MODULEMAP_FILE = "Target Support Files/Segmentio/Segmentio.modulemap";
MTL_ENABLE_DEBUG_INFO = YES;
PRODUCT_NAME = Segmentio;
SDKROOT = iphoneos;
SKIP_INSTALL = YES;
SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
SWIFT_VERSION = 3.0;
TARGETED_DEVICE_FAMILY = "1,2";
VERSIONING_SYSTEM = "apple-generic";
VERSION_INFO_PREFIX = "";
};
name = Debug;
};
82DA9EDC945BA75F9A7FBF8948423EE3 /* Release */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = AAF3441A43AA58E58A7340FA1E66271B /* Segmentio.xcconfig */;
buildSettings = {
CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/Segmentio";
ENABLE_STRICT_OBJC_MSGSEND = YES;
GCC_NO_COMMON_BLOCKS = YES;
INFOPLIST_FILE = "Target Support Files/Segmentio/ResourceBundle-Segmentio-Info.plist";
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
PRODUCT_NAME = Segmentio;
SDKROOT = iphoneos;
SKIP_INSTALL = YES;
TARGETED_DEVICE_FAMILY = "1,2";
WRAPPER_EXTENSION = bundle;
};
name = Release;
};
B21E056A43A153E5C75A8623229ECF5D /* Release */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = AAF3441A43AA58E58A7340FA1E66271B /* Segmentio.xcconfig */;
buildSettings = {
CODE_SIGN_IDENTITY = "";
"CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
"CODE_SIGN_IDENTITY[sdk=watchos*]" = "";
CURRENT_PROJECT_VERSION = 1;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
DEFINES_MODULE = YES;
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
DYLIB_INSTALL_NAME_BASE = "@rpath";
ENABLE_STRICT_OBJC_MSGSEND = YES;
GCC_NO_COMMON_BLOCKS = YES;
GCC_PREFIX_HEADER = "Target Support Files/Segmentio/Segmentio-prefix.pch";
INFOPLIST_FILE = "Target Support Files/Segmentio/Info.plist";
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
MODULEMAP_FILE = "Target Support Files/Segmentio/Segmentio.modulemap";
MTL_ENABLE_DEBUG_INFO = NO;
PRODUCT_NAME = Segmentio;
SDKROOT = iphoneos;
SKIP_INSTALL = YES;
SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule";
SWIFT_VERSION = 3.0;
TARGETED_DEVICE_FAMILY = "1,2";
VERSIONING_SYSTEM = "apple-generic";
VERSION_INFO_PREFIX = "";
};
name = Release;
};
C104F7F091290C3D1E248192F07FE689 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_ANALYZER_NONNULL = YES;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES;
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
CODE_SIGNING_REQUIRED = NO; CODE_SIGNING_REQUIRED = NO;
@ -761,7 +540,115 @@
}; };
name = Debug; name = Debug;
}; };
CE9298B08B651D08B8B497D16EBD8F6B /* Debug */ = { 44CDBB6D11DE06DB64D6268622BDC47E /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_ANALYZER_NONNULL = YES;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
CODE_SIGNING_REQUIRED = NO;
COPY_PHASE_STRIP = YES;
ENABLE_NS_ASSERTIONS = NO;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_PREPROCESSOR_DEFINITIONS = (
"POD_CONFIGURATION_RELEASE=1",
"$(inherited)",
);
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
PROVISIONING_PROFILE_SPECIFIER = NO_SIGNING/;
STRIP_INSTALLED_PRODUCT = NO;
SYMROOT = "${SRCROOT}/../build";
VALIDATE_PRODUCT = YES;
};
name = Release;
};
6939D89BCF3CB71D8A0CB554AEAC1779 /* Debug */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = AAF3441A43AA58E58A7340FA1E66271B /* Segmentio.xcconfig */;
buildSettings = {
"CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
"CODE_SIGN_IDENTITY[sdk=watchos*]" = "";
CURRENT_PROJECT_VERSION = 1;
DEBUG_INFORMATION_FORMAT = dwarf;
DEFINES_MODULE = YES;
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
DYLIB_INSTALL_NAME_BASE = "@rpath";
ENABLE_STRICT_OBJC_MSGSEND = YES;
GCC_NO_COMMON_BLOCKS = YES;
GCC_PREFIX_HEADER = "Target Support Files/Segmentio/Segmentio-prefix.pch";
INFOPLIST_FILE = "Target Support Files/Segmentio/Info.plist";
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
MODULEMAP_FILE = "Target Support Files/Segmentio/Segmentio.modulemap";
MTL_ENABLE_DEBUG_INFO = YES;
PRODUCT_NAME = Segmentio;
SDKROOT = iphoneos;
SKIP_INSTALL = YES;
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
SWIFT_VERSION = 3.0;
TARGETED_DEVICE_FAMILY = "1,2";
VERSIONING_SYSTEM = "apple-generic";
VERSION_INFO_PREFIX = "";
};
name = Debug;
};
69F41B3AE04E5DCE90065CD8E029712C /* Release */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 808E8A2F66FEF9BFA423C8B51FEB3FD3 /* Pods-Segmentio_Example.release.xcconfig */;
buildSettings = {
"CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
"CODE_SIGN_IDENTITY[sdk=watchos*]" = "";
CURRENT_PROJECT_VERSION = 1;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
DEFINES_MODULE = YES;
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
DYLIB_INSTALL_NAME_BASE = "@rpath";
ENABLE_STRICT_OBJC_MSGSEND = YES;
GCC_NO_COMMON_BLOCKS = YES;
INFOPLIST_FILE = "Target Support Files/Pods-Segmentio_Example/Info.plist";
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
MACH_O_TYPE = staticlib;
MODULEMAP_FILE = "Target Support Files/Pods-Segmentio_Example/Pods-Segmentio_Example.modulemap";
MTL_ENABLE_DEBUG_INFO = NO;
OTHER_LDFLAGS = "";
OTHER_LIBTOOLFLAGS = "";
PODS_ROOT = "$(SRCROOT)";
PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}";
PRODUCT_NAME = Pods_Segmentio_Example;
SDKROOT = iphoneos;
SKIP_INSTALL = YES;
TARGETED_DEVICE_FAMILY = "1,2";
VERSIONING_SYSTEM = "apple-generic";
VERSION_INFO_PREFIX = "";
};
name = Release;
};
A6D8F8AC9425BACBC3621CFD7597790C /* Debug */ = {
isa = XCBuildConfiguration; isa = XCBuildConfiguration;
baseConfigurationReference = AAF3441A43AA58E58A7340FA1E66271B /* Segmentio.xcconfig */; baseConfigurationReference = AAF3441A43AA58E58A7340FA1E66271B /* Segmentio.xcconfig */;
buildSettings = { buildSettings = {
@ -778,41 +665,126 @@
}; };
name = Debug; name = Debug;
}; };
B39C8A659F54F5D7007A70CE400454EA /* Release */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = AAF3441A43AA58E58A7340FA1E66271B /* Segmentio.xcconfig */;
buildSettings = {
CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/Segmentio";
ENABLE_STRICT_OBJC_MSGSEND = YES;
GCC_NO_COMMON_BLOCKS = YES;
INFOPLIST_FILE = "Target Support Files/Segmentio/ResourceBundle-Segmentio-Info.plist";
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
PRODUCT_NAME = Segmentio;
SDKROOT = iphoneos;
SKIP_INSTALL = YES;
TARGETED_DEVICE_FAMILY = "1,2";
WRAPPER_EXTENSION = bundle;
};
name = Release;
};
BF58FEE71132386297AFD4D409190547 /* Debug */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 37602088D7DDBEBF54BCE7CAF18CB105 /* Pods-Segmentio_Example.debug.xcconfig */;
buildSettings = {
"CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
"CODE_SIGN_IDENTITY[sdk=watchos*]" = "";
CURRENT_PROJECT_VERSION = 1;
DEBUG_INFORMATION_FORMAT = dwarf;
DEFINES_MODULE = YES;
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
DYLIB_INSTALL_NAME_BASE = "@rpath";
ENABLE_STRICT_OBJC_MSGSEND = YES;
GCC_NO_COMMON_BLOCKS = YES;
INFOPLIST_FILE = "Target Support Files/Pods-Segmentio_Example/Info.plist";
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
MACH_O_TYPE = staticlib;
MODULEMAP_FILE = "Target Support Files/Pods-Segmentio_Example/Pods-Segmentio_Example.modulemap";
MTL_ENABLE_DEBUG_INFO = YES;
OTHER_LDFLAGS = "";
OTHER_LIBTOOLFLAGS = "";
PODS_ROOT = "$(SRCROOT)";
PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}";
PRODUCT_NAME = Pods_Segmentio_Example;
SDKROOT = iphoneos;
SKIP_INSTALL = YES;
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
TARGETED_DEVICE_FAMILY = "1,2";
VERSIONING_SYSTEM = "apple-generic";
VERSION_INFO_PREFIX = "";
};
name = Debug;
};
E8435E0DCC8F7A80386C452616DACB34 /* Release */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = AAF3441A43AA58E58A7340FA1E66271B /* Segmentio.xcconfig */;
buildSettings = {
"CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
"CODE_SIGN_IDENTITY[sdk=watchos*]" = "";
CURRENT_PROJECT_VERSION = 1;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
DEFINES_MODULE = YES;
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
DYLIB_INSTALL_NAME_BASE = "@rpath";
ENABLE_STRICT_OBJC_MSGSEND = YES;
GCC_NO_COMMON_BLOCKS = YES;
GCC_PREFIX_HEADER = "Target Support Files/Segmentio/Segmentio-prefix.pch";
INFOPLIST_FILE = "Target Support Files/Segmentio/Info.plist";
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
MODULEMAP_FILE = "Target Support Files/Segmentio/Segmentio.modulemap";
MTL_ENABLE_DEBUG_INFO = NO;
PRODUCT_NAME = Segmentio;
SDKROOT = iphoneos;
SKIP_INSTALL = YES;
SWIFT_VERSION = 3.0;
TARGETED_DEVICE_FAMILY = "1,2";
VERSIONING_SYSTEM = "apple-generic";
VERSION_INFO_PREFIX = "";
};
name = Release;
};
/* End XCBuildConfiguration section */ /* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */ /* Begin XCConfigurationList section */
2041218D8A7CEE9097033B80A896D7B1 /* Build configuration list for PBXNativeTarget "Segmentio-Segmentio" */ = {
isa = XCConfigurationList;
buildConfigurations = (
CE9298B08B651D08B8B497D16EBD8F6B /* Debug */,
82DA9EDC945BA75F9A7FBF8948423EE3 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
2D8E8EC45A3A1A1D94AE762CB5028504 /* Build configuration list for PBXProject "Pods" */ = { 2D8E8EC45A3A1A1D94AE762CB5028504 /* Build configuration list for PBXProject "Pods" */ = {
isa = XCConfigurationList; isa = XCConfigurationList;
buildConfigurations = ( buildConfigurations = (
C104F7F091290C3D1E248192F07FE689 /* Debug */, 015A368F878AC3E2CEAE21DDE8026304 /* Debug */,
34FE9531DA9AF2820790339988D5FF41 /* Release */, 44CDBB6D11DE06DB64D6268622BDC47E /* Release */,
); );
defaultConfigurationIsVisible = 0; defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release; defaultConfigurationName = Release;
}; };
A1D1618119E2E7C51F19EB05FDF5156C /* Build configuration list for PBXNativeTarget "Pods-Segmentio_Example" */ = { 785D3215E776BE829EB1D98F89F1A8C1 /* Build configuration list for PBXNativeTarget "Segmentio" */ = {
isa = XCConfigurationList; isa = XCConfigurationList;
buildConfigurations = ( buildConfigurations = (
4E822D5795BA9E4178943FED4D9C6AF4 /* Debug */, 6939D89BCF3CB71D8A0CB554AEAC1779 /* Debug */,
0CAC0F262E7DD097927860FC763994DF /* Release */, E8435E0DCC8F7A80386C452616DACB34 /* Release */,
); );
defaultConfigurationIsVisible = 0; defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release; defaultConfigurationName = Release;
}; };
AEAE75D2FEC7B21249461B615D5A77D0 /* Build configuration list for PBXNativeTarget "Segmentio" */ = { BD0B4F1676768CCD5A8C4B0E5B53427F /* Build configuration list for PBXNativeTarget "Segmentio-Segmentio" */ = {
isa = XCConfigurationList; isa = XCConfigurationList;
buildConfigurations = ( buildConfigurations = (
7661A8E2CE1CB37964D0DB637C77E431 /* Debug */, A6D8F8AC9425BACBC3621CFD7597790C /* Debug */,
B21E056A43A153E5C75A8623229ECF5D /* Release */, B39C8A659F54F5D7007A70CE400454EA /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
CC37EAE0F58FC2B11F123B84FE6B0FAC /* Build configuration list for PBXNativeTarget "Pods-Segmentio_Example" */ = {
isa = XCConfigurationList;
buildConfigurations = (
BF58FEE71132386297AFD4D409190547 /* Debug */,
69F41B3AE04E5DCE90065CD8E029712C /* Release */,
); );
defaultConfigurationIsVisible = 0; defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release; defaultConfigurationName = Release;

View File

@ -5,7 +5,7 @@ This application makes use of the following third party libraries:
The MIT License (MIT) The MIT License (MIT)
Copyright © 2017 Yalantis Copyright © 2015 Yalantis
Permission is hereby granted, free of charge, to any person obtaining a copy Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal of this software and associated documentation files (the "Software"), to deal
@ -24,5 +24,4 @@ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 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 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE. THE SOFTWARE.
Generated by CocoaPods - https://cocoapods.org Generated by CocoaPods - https://cocoapods.org

View File

@ -16,7 +16,7 @@
<key>FooterText</key> <key>FooterText</key>
<string>The MIT License (MIT) <string>The MIT License (MIT)
Copyright © 2017 Yalantis Copyright &#169; 2015 Yalantis
Permission is hereby granted, free of charge, to any person obtaining a copy Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal of this software and associated documentation files (the "Software"), to deal
@ -34,8 +34,7 @@ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 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 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE. THE SOFTWARE.</string>
</string>
<key>License</key> <key>License</key>
<string>MIT</string> <string>MIT</string>
<key>Title</key> <key>Title</key>

View File

@ -59,13 +59,8 @@ code_sign_if_enabled() {
if [ -n "${EXPANDED_CODE_SIGN_IDENTITY}" -a "${CODE_SIGNING_REQUIRED}" != "NO" -a "${CODE_SIGNING_ALLOWED}" != "NO" ]; then if [ -n "${EXPANDED_CODE_SIGN_IDENTITY}" -a "${CODE_SIGNING_REQUIRED}" != "NO" -a "${CODE_SIGNING_ALLOWED}" != "NO" ]; then
# Use the current code_sign_identitiy # Use the current code_sign_identitiy
echo "Code Signing $1 with Identity ${EXPANDED_CODE_SIGN_IDENTITY_NAME}" echo "Code Signing $1 with Identity ${EXPANDED_CODE_SIGN_IDENTITY_NAME}"
local code_sign_cmd="/usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} ${OTHER_CODE_SIGN_FLAGS} --preserve-metadata=identifier,entitlements '$1'" echo "/usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} ${OTHER_CODE_SIGN_FLAGS} --preserve-metadata=identifier,entitlements \"$1\""
/usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} ${OTHER_CODE_SIGN_FLAGS} --preserve-metadata=identifier,entitlements "$1"
if [ "${COCOAPODS_PARALLEL_CODE_SIGN}" == "true" ]; then
code_sign_cmd="$code_sign_cmd &"
fi
echo "$code_sign_cmd"
eval "$code_sign_cmd"
fi fi
} }
@ -94,6 +89,3 @@ fi
if [[ "$CONFIGURATION" == "Release" ]]; then if [[ "$CONFIGURATION" == "Release" ]]; then
install_framework "$BUILT_PRODUCTS_DIR/Segmentio/Segmentio.framework" install_framework "$BUILT_PRODUCTS_DIR/Segmentio/Segmentio.framework"
fi fi
if [ "${COCOAPODS_PARALLEL_CODE_SIGN}" == "true" ]; then
wait
fi

View File

@ -18,17 +18,17 @@ case "${TARGETED_DEVICE_FAMILY}" in
2) 2)
TARGET_DEVICE_ARGS="--target-device ipad" TARGET_DEVICE_ARGS="--target-device ipad"
;; ;;
3)
TARGET_DEVICE_ARGS="--target-device tv"
;;
4)
TARGET_DEVICE_ARGS="--target-device watch"
;;
*) *)
TARGET_DEVICE_ARGS="--target-device mac" TARGET_DEVICE_ARGS="--target-device mac"
;; ;;
esac esac
realpath() {
DIRECTORY="$(cd "${1%/*}" && pwd)"
FILENAME="${1##*/}"
echo "$DIRECTORY/$FILENAME"
}
install_resource() install_resource()
{ {
if [[ "$1" = /* ]] ; then if [[ "$1" = /* ]] ; then
@ -70,7 +70,7 @@ EOM
xcrun mapc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcmappingmodel`.cdm" xcrun mapc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcmappingmodel`.cdm"
;; ;;
*.xcassets) *.xcassets)
ABSOLUTE_XCASSET_FILE="$RESOURCE_PATH" ABSOLUTE_XCASSET_FILE=$(realpath "$RESOURCE_PATH")
XCASSET_FILES+=("$ABSOLUTE_XCASSET_FILE") XCASSET_FILES+=("$ABSOLUTE_XCASSET_FILE")
;; ;;
*) *)
@ -93,7 +93,7 @@ then
# Find all other xcassets (this unfortunately includes those of path pods and other targets). # Find all other xcassets (this unfortunately includes those of path pods and other targets).
OTHER_XCASSETS=$(find "$PWD" -iname "*.xcassets" -type d) OTHER_XCASSETS=$(find "$PWD" -iname "*.xcassets" -type d)
while read line; do while read line; do
if [[ $line != "${PODS_ROOT}*" ]]; then if [[ $line != "`realpath $PODS_ROOT`*" ]]; then
XCASSET_FILES+=("$line") XCASSET_FILES+=("$line")
fi fi
done <<<"$OTHER_XCASSETS" done <<<"$OTHER_XCASSETS"

View File

@ -1,14 +1,4 @@
#ifdef __OBJC__
#import <UIKit/UIKit.h> #import <UIKit/UIKit.h>
#else
#ifndef FOUNDATION_EXPORT
#if defined(__cplusplus)
#define FOUNDATION_EXPORT extern "C"
#else
#define FOUNDATION_EXPORT extern
#endif
#endif
#endif
FOUNDATION_EXPORT double Pods_Segmentio_ExampleVersionNumber; FOUNDATION_EXPORT double Pods_Segmentio_ExampleVersionNumber;

View File

@ -1,4 +1,5 @@
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES
EMBEDDED_CONTENT_CONTAINS_SWIFT = YES
FRAMEWORK_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/Segmentio" FRAMEWORK_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/Segmentio"
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks'
@ -7,5 +8,4 @@ OTHER_LDFLAGS = $(inherited) -framework "Segmentio"
OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS"
PODS_BUILD_DIR = $BUILD_DIR PODS_BUILD_DIR = $BUILD_DIR
PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
PODS_PODFILE_DIR_PATH = ${SRCROOT}/.
PODS_ROOT = ${SRCROOT}/Pods PODS_ROOT = ${SRCROOT}/Pods

View File

@ -1,4 +1,5 @@
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES
EMBEDDED_CONTENT_CONTAINS_SWIFT = YES
FRAMEWORK_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/Segmentio" FRAMEWORK_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/Segmentio"
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks'
@ -7,5 +8,4 @@ OTHER_LDFLAGS = $(inherited) -framework "Segmentio"
OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS"
PODS_BUILD_DIR = $BUILD_DIR PODS_BUILD_DIR = $BUILD_DIR
PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
PODS_PODFILE_DIR_PATH = ${SRCROOT}/.
PODS_ROOT = ${SRCROOT}/Pods PODS_ROOT = ${SRCROOT}/Pods

View File

@ -15,7 +15,7 @@
<key>CFBundlePackageType</key> <key>CFBundlePackageType</key>
<string>FMWK</string> <string>FMWK</string>
<key>CFBundleShortVersionString</key> <key>CFBundleShortVersionString</key>
<string>2.1.2</string> <string>1.1.3</string>
<key>CFBundleSignature</key> <key>CFBundleSignature</key>
<string>????</string> <string>????</string>
<key>CFBundleVersion</key> <key>CFBundleVersion</key>

View File

@ -13,7 +13,7 @@
<key>CFBundlePackageType</key> <key>CFBundlePackageType</key>
<string>BNDL</string> <string>BNDL</string>
<key>CFBundleShortVersionString</key> <key>CFBundleShortVersionString</key>
<string>2.1.2</string> <string>1.1.3</string>
<key>CFBundleSignature</key> <key>CFBundleSignature</key>
<string>????</string> <string>????</string>
<key>CFBundleVersion</key> <key>CFBundleVersion</key>

View File

@ -1,12 +1,4 @@
#ifdef __OBJC__ #ifdef __OBJC__
#import <UIKit/UIKit.h> #import <UIKit/UIKit.h>
#else
#ifndef FOUNDATION_EXPORT
#if defined(__cplusplus)
#define FOUNDATION_EXPORT extern "C"
#else
#define FOUNDATION_EXPORT extern
#endif
#endif
#endif #endif

View File

@ -1,14 +1,4 @@
#ifdef __OBJC__
#import <UIKit/UIKit.h> #import <UIKit/UIKit.h>
#else
#ifndef FOUNDATION_EXPORT
#if defined(__cplusplus)
#define FOUNDATION_EXPORT extern "C"
#else
#define FOUNDATION_EXPORT extern
#endif
#endif
#endif
FOUNDATION_EXPORT double SegmentioVersionNumber; FOUNDATION_EXPORT double SegmentioVersionNumber;

View File

@ -5,6 +5,5 @@ OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS"
PODS_BUILD_DIR = $BUILD_DIR PODS_BUILD_DIR = $BUILD_DIR
PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
PODS_ROOT = ${SRCROOT} PODS_ROOT = ${SRCROOT}
PODS_TARGET_SRCROOT = ${PODS_ROOT}/../..
PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
SKIP_INSTALL = YES SKIP_INSTALL = YES

View File

@ -333,7 +333,7 @@
); );
runOnlyForDeploymentPostprocessing = 0; runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh; shellPath = /bin/sh;
shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n"; shellScript = "diff \"${PODS_ROOT}/../Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n";
showEnvVarsInLog = 0; showEnvVarsInLog = 0;
}; };
/* End PBXShellScriptBuildPhase section */ /* End PBXShellScriptBuildPhase section */

View File

@ -19,11 +19,11 @@ struct SegmentioBuilder {
) )
} }
static func buildSegmentioView(segmentioView: Segmentio, segmentioStyle: SegmentioStyle, segmentioPosition: SegmentioPosition = .fixed(maxVisibleItems: 3)) { static func buildSegmentioView(segmentioView: Segmentio, segmentioStyle: SegmentioStyle) {
segmentioView.setup( segmentioView.setup(
content: segmentioContent(), content: segmentioContent(),
style: segmentioStyle, style: segmentioStyle,
options: segmentioOptions(segmentioStyle: segmentioStyle, segmentioPosition: segmentioPosition) options: segmentioOptions(segmentioStyle: segmentioStyle)
) )
} }
@ -38,7 +38,7 @@ struct SegmentioBuilder {
] ]
} }
private static func segmentioOptions(segmentioStyle: SegmentioStyle, segmentioPosition: SegmentioPosition = .fixed(maxVisibleItems: 3)) -> SegmentioOptions { private static func segmentioOptions(segmentioStyle: SegmentioStyle) -> SegmentioOptions {
var imageContentMode = UIViewContentMode.center var imageContentMode = UIViewContentMode.center
switch segmentioStyle { switch segmentioStyle {
case .imageBeforeLabel, .imageAfterLabel: case .imageBeforeLabel, .imageAfterLabel:
@ -49,7 +49,7 @@ struct SegmentioBuilder {
return SegmentioOptions( return SegmentioOptions(
backgroundColor: ColorPalette.white, backgroundColor: ColorPalette.white,
segmentPosition: segmentioPosition, maxVisibleItems: 3,
scrollEnabled: true, scrollEnabled: true,
indicatorOptions: segmentioIndicatorOptions(), indicatorOptions: segmentioIndicatorOptions(),
horizontalSeparatorOptions: segmentioHorizontalSeparatorOptions(), horizontalSeparatorOptions: segmentioHorizontalSeparatorOptions(),

View File

@ -1,15 +1,5 @@
{ {
"images" : [ "images" : [
{
"idiom" : "iphone",
"size" : "20x20",
"scale" : "2x"
},
{
"idiom" : "iphone",
"size" : "20x20",
"scale" : "3x"
},
{ {
"size" : "29x29", "size" : "29x29",
"idiom" : "iphone", "idiom" : "iphone",
@ -46,16 +36,6 @@
"filename" : "Icon-60@3x.png", "filename" : "Icon-60@3x.png",
"scale" : "3x" "scale" : "3x"
}, },
{
"idiom" : "ipad",
"size" : "20x20",
"scale" : "1x"
},
{
"idiom" : "ipad",
"size" : "20x20",
"scale" : "2x"
},
{ {
"size" : "29x29", "size" : "29x29",
"idiom" : "ipad", "idiom" : "ipad",

View File

@ -1,4 +1,4 @@
## Segmentio ##Segmentio
[![Platform](http://img.shields.io/badge/platform-iOS-blue.svg?style=flat)](https://cocoapods.org/?q=segmentio) [![License](http://img.shields.io/badge/license-MIT-green.svg?style=flat)](https://github.com/Yalantis/Segmentio/blob/master/LICENSE) ![Swift 3.x](https://img.shields.io/badge/Swift-3.0-orange.svg) [![Carthage compatible](https://img.shields.io/badge/Carthage-compatible-4BC51D.svg?style=flat)](https://github.com/Carthage/Carthage) [![Platform](http://img.shields.io/badge/platform-iOS-blue.svg?style=flat)](https://cocoapods.org/?q=segmentio) [![License](http://img.shields.io/badge/license-MIT-green.svg?style=flat)](https://github.com/Yalantis/Segmentio/blob/master/LICENSE) ![Swift 3.x](https://img.shields.io/badge/Swift-3.0-orange.svg) [![Carthage compatible](https://img.shields.io/badge/Carthage-compatible-4BC51D.svg?style=flat)](https://github.com/Carthage/Carthage)
Animated top/bottom segmented control written in Swift. Animated top/bottom segmented control written in Swift.
@ -7,15 +7,15 @@ Animated top/bottom segmented control written in Swift.
Check this <a href="https://dribbble.com/shots/2820372-Segmentio-Component">project on dribbble</a>. Check this <a href="https://dribbble.com/shots/2820372-Segmentio-Component">project on dribbble</a>.
## Requirements ##Requirements
- Xcode 8 - Xcode 8
- iOS 8.x+ - iOS 8.x+
- Swift 3 - Swift 3
## Installation ##Installation
#### [CocoaPods](http://cocoapods.org) ####[CocoaPods](http://cocoapods.org)
```ruby ```ruby
use_frameworks! use_frameworks!
@ -24,18 +24,18 @@ pod 'Segmentio', '~> 2.1'
*CocoaPods v1.1.0 or later required* *CocoaPods v1.1.0 or later required*
#### [Carthage](http://github.com/Carthage/Carthage) ####[Carthage](http://github.com/Carthage/Carthage)
```ruby ```ruby
github "Yalantis/Segmentio" ~> 2.1 github "Yalantis/Segmentio" ~> 2.1
``` ```
## Usage ##Usage
#### Import `Segmentio` module ####Import `Segmentio` module
```swift ```swift
import Segmentio import Segmentio
``` ```
#### Init ####Init
You can initialize a `Segmentio` instance from code: You can initialize a `Segmentio` instance from code:
```swift ```swift
@ -54,7 +54,7 @@ add a `UIView` instance in your .storyboard or .xib, set `Segmentio` class and c
@IBOutlet weak var segmentioView: Segmentio! @IBOutlet weak var segmentioView: Segmentio!
``` ```
#### Setup `Segmentio` ####Setup `Segmentio`
```swift ```swift
segmentioView.setup( segmentioView.setup(
content: [SegmentioItem], content: [SegmentioItem],
@ -74,7 +74,7 @@ segmentioView.setup(
``` ```
#### Configuring items ####Configuring items
In order to set items you need to create an array of `SegmentioItem` instances: In order to set items you need to create an array of `SegmentioItem` instances:
```swift ```swift
@ -87,14 +87,14 @@ let tornadoItem = SegmentioItem(
content.append(tornadoItem) content.append(tornadoItem)
``` ```
#### Handling selection ####Handling selection
You can specify selected item manually: You can specify selected item manually:
```swift ```swift
segmentioView.selectedSegmentioIndex = 0 segmentioView.selectedSegmentioIndex = 0
``` ```
#### Handling callback ####Handling callback
```swift ```swift
segmentioView.valueDidChange = { segmentio, segmentIndex in segmentioView.valueDidChange = { segmentio, segmentIndex in
@ -102,7 +102,7 @@ segmentioView.valueDidChange = { segmentio, segmentIndex in
} }
``` ```
#### Customization ####Customization
`Segmentio` can be customized by passing an instance of `SegmentioOptions` struct: `Segmentio` can be customized by passing an instance of `SegmentioOptions` struct:
```swift ```swift
@ -171,12 +171,12 @@ SegmentioStates(
) )
``` ```
#### Let us know! ####Let us know!
Wed be really happy if you sent us links to your projects where you use our component. Just send an email to github@yalantis.com And do let us know if you have any questions or suggestion regarding the animation. Wed be really happy if you sent us links to your projects where you use our component. Just send an email to github@yalantis.com And do let us know if you have any questions or suggestion regarding the animation.
P.S. Were going to publish more awesomeness wrapped in code and a tutorial on how to make UI for iOS (Android) better than better. Stay tuned! P.S. Were going to publish more awesomeness wrapped in code and a tutorial on how to make UI for iOS (Android) better than better. Stay tuned!
## License ##License
The MIT License (MIT) The MIT License (MIT)

View File

@ -11,7 +11,7 @@ import UIKit
class SegmentioCell: UICollectionViewCell { class SegmentioCell: UICollectionViewCell {
let padding: CGFloat = 8 let padding: CGFloat = 8
static let segmentTitleLabelHeight: CGFloat = 22 let segmentTitleLabelHeight: CGFloat = 22
var verticalSeparatorView: UIView? var verticalSeparatorView: UIView?
var segmentTitleLabel: UILabel? var segmentTitleLabel: UILabel?
@ -49,7 +49,7 @@ class SegmentioCell: UICollectionViewCell {
segmentTitleLabel?.font = isHighlighted ? highlightedState.titleFont : highlightedTitleFont segmentTitleLabel?.font = isHighlighted ? highlightedState.titleFont : highlightedTitleFont
} }
backgroundColor = isHighlighted ? highlightedState.backgroundColor : .clear backgroundColor = isHighlighted ? highlightedState.backgroundColor : defaultState.backgroundColor
} }
} }
} }
@ -130,7 +130,7 @@ class SegmentioCell: UICollectionViewCell {
configurateBadgeWithCount(content.badgeCount, color: content.badgeColor) configurateBadgeWithCount(content.badgeCount, color: content.badgeColor)
} }
func configure(selected: Bool, selectedImage: UIImage? = nil, image: UIImage? = nil) { func configure(selected: Bool) {
cellSelected = selected cellSelected = selected
let selectedState = options.states.selectedState let selectedState = options.states.selectedState
@ -140,10 +140,6 @@ class SegmentioCell: UICollectionViewCell {
segmentTitleLabel?.textColor = selected ? selectedState.titleTextColor : defaultState.titleTextColor segmentTitleLabel?.textColor = selected ? selectedState.titleTextColor : defaultState.titleTextColor
segmentTitleLabel?.font = selected ? selectedState.titleFont : defaultState.titleFont segmentTitleLabel?.font = selected ? selectedState.titleFont : defaultState.titleFont
} }
if (style != .onlyLabel) {
segmentImageView?.image = selected ? selectedImage : image
}
} }
func configurateBadgeWithCount(_ badgeCount: Int?, color: UIColor?) { func configurateBadgeWithCount(_ badgeCount: Int?, color: UIColor?) {

View File

@ -19,7 +19,7 @@ final class SegmentioCellWithImageAfterLabel: SegmentioCell {
return return
} }
let metrics = ["labelHeight": SegmentioCell.segmentTitleLabelHeight] let metrics = ["labelHeight": segmentTitleLabelHeight]
let views = [ let views = [
"imageContainerView": imageContainerView, "imageContainerView": imageContainerView,
"containerView": containerView "containerView": containerView

View File

@ -19,7 +19,7 @@ class SegmentioCellWithImageBeforeLabel: SegmentioCell {
return return
} }
let metrics = ["labelHeight": SegmentioCell.segmentTitleLabelHeight] let metrics = ["labelHeight": segmentTitleLabelHeight]
let views = [ let views = [
"imageContainerView": imageContainerView, "imageContainerView": imageContainerView,
"containerView": containerView "containerView": containerView

View File

@ -19,7 +19,7 @@ class SegmentioCellWithImageOverLabel: SegmentioCell {
return return
} }
let metrics = ["labelHeight": SegmentioCell.segmentTitleLabelHeight] let metrics = ["labelHeight": segmentTitleLabelHeight]
let views = [ let views = [
"imageContainerView": imageContainerView, "imageContainerView": imageContainerView,
"containerView": containerView "containerView": containerView

View File

@ -19,7 +19,7 @@ class SegmentioCellWithImageUnderLabel: SegmentioCell {
return return
} }
let metrics = ["labelHeight": SegmentioCell.segmentTitleLabelHeight] let metrics = ["labelHeight": segmentTitleLabelHeight]
let views = [ let views = [
"imageContainerView": imageContainerView, "imageContainerView": imageContainerView,
"containerView": containerView "containerView": containerView

View File

@ -49,7 +49,6 @@ open class Segmentio: UIView {
fileprivate var segmentioOptions = SegmentioOptions() fileprivate var segmentioOptions = SegmentioOptions()
fileprivate var segmentioStyle = SegmentioStyle.imageOverLabel fileprivate var segmentioStyle = SegmentioStyle.imageOverLabel
fileprivate var isPerformingScrollAnimation = false fileprivate var isPerformingScrollAnimation = false
fileprivate var isCollectionViewScrolling = false
fileprivate var topSeparatorView: UIView? fileprivate var topSeparatorView: UIView?
fileprivate var bottomSeparatorView: UIView? fileprivate var bottomSeparatorView: UIView?
@ -97,7 +96,6 @@ open class Segmentio: UIView {
collectionView.bounces = true collectionView.bounces = true
collectionView.isScrollEnabled = segmentioOptions.scrollEnabled collectionView.isScrollEnabled = segmentioOptions.scrollEnabled
collectionView.backgroundColor = .clear collectionView.backgroundColor = .clear
collectionView.accessibilityIdentifier = "segmentio_collection_view"
segmentioCollectionView = collectionView segmentioCollectionView = collectionView
@ -114,8 +112,6 @@ open class Segmentio: UIView {
let separatorHeight = horizontalSeparatorOptions.height let separatorHeight = horizontalSeparatorOptions.height
switch horizontalSeparatorOptions.type { switch horizontalSeparatorOptions.type {
case .none:
separatorsHeight = 0
case .top: case .top:
collectionViewFrameMinY = separatorHeight collectionViewFrameMinY = separatorHeight
separatorsHeight = separatorHeight separatorsHeight = separatorHeight
@ -255,7 +251,7 @@ open class Segmentio: UIView {
bottomSeparatorView = UIView(frame: CGRect.zero) bottomSeparatorView = UIView(frame: CGRect.zero)
setupConstraintsForSeparatorView( setupConstraintsForSeparatorView(
separatorView: bottomSeparatorView, separatorView: bottomSeparatorView,
originY: bounds.maxY - height originY: frame.maxY - height
) )
} }
} }
@ -273,7 +269,7 @@ open class Segmentio: UIView {
item: separatorView, item: separatorView,
attribute: .top, attribute: .top,
relatedBy: .equal, relatedBy: .equal,
toItem: self, toItem: superview,
attribute: .top, attribute: .top,
multiplier: 1, multiplier: 1,
constant: originY constant: originY
@ -328,7 +324,6 @@ open class Segmentio: UIView {
public func reloadSegmentio() { public func reloadSegmentio() {
segmentioCollectionView?.collectionViewLayout.invalidateLayout() segmentioCollectionView?.collectionViewLayout.invalidateLayout()
segmentioCollectionView?.reloadData() segmentioCollectionView?.reloadData()
guard selectedSegmentioIndex != -1 else { return }
scrollToItemAtContext() scrollToItemAtContext()
moveShapeLayerAtContext() moveShapeLayerAtContext()
} }
@ -339,8 +334,12 @@ open class Segmentio: UIView {
if let indicatorLayer = indicatorLayer, let options = segmentioOptions.indicatorOptions { if let indicatorLayer = indicatorLayer, let options = segmentioOptions.indicatorOptions {
let item = itemInSuperview(ratio: options.ratio) let item = itemInSuperview(ratio: options.ratio)
let context = contextForItem(item) let context = contextForItem(item)
let points = Points(context: context, item: item, atIndex: selectedSegmentioIndex, allItems: segmentioItems, pointY: indicatorPointY(), position: segmentioOptions.segmentPosition, style: segmentioStyle) let points = Points(
context: context,
item: item,
pointY: indicatorPointY()
)
moveShapeLayer( moveShapeLayer(
indicatorLayer, indicatorLayer,
@ -353,8 +352,12 @@ open class Segmentio: UIView {
if let selectedLayer = selectedLayer { if let selectedLayer = selectedLayer {
let item = itemInSuperview() let item = itemInSuperview()
let context = contextForItem(item) let context = contextForItem(item)
let points = Points(context: context, item: item, atIndex: selectedSegmentioIndex, allItems: segmentioItems, pointY: bounds.midY, position: segmentioOptions.segmentPosition, style: segmentioStyle) let points = Points(
context: context,
item: item,
pointY: bounds.midY
)
moveShapeLayer( moveShapeLayer(
selectedLayer, selectedLayer,
@ -371,30 +374,30 @@ open class Segmentio: UIView {
guard let numberOfSections = segmentioCollectionView?.numberOfSections else { guard let numberOfSections = segmentioCollectionView?.numberOfSections else {
return return
} }
guard selectedSegmentioIndex != -1 else { return }
let item = itemInSuperview() let item = itemInSuperview()
let context = contextForItem(item) let context = contextForItem(item)
segmentioCollectionView?.scrollRectToVisible(centerRect(for: item), animated: true) if context.isLastOrPrelastVisibleCell == true {
} let newIndex = selectedSegmentioIndex + (context.isLastCell ? 0 : 1)
let newIndexPath = IndexPath(item: newIndex, section: numberOfSections - 1)
fileprivate func centerRect(for item: ItemInSuperview) -> CGRect { segmentioCollectionView?.scrollToItem(
let item = itemInSuperview() at: newIndexPath,
var centerRect = item.cellFrameInSuperview at: UICollectionViewScrollPosition(),
if (item.startX + segmentioCollectionView!.contentOffset.x) - (item.collectionViewWidth - centerRect.width) / 2 < 0 { animated: true
centerRect.origin.x = 0 )
var widthToAdd: CGFloat = (item.collectionViewWidth - centerRect.width) }
centerRect.size.width += widthToAdd
} else if segmentioCollectionView!.contentSize.width - item.endX < (item.collectionViewWidth - centerRect.width) / 2 { if context.isFirstOrSecondVisibleCell == true && selectedSegmentioIndex != -1 {
centerRect.origin.x = segmentioCollectionView!.contentSize.width - item.collectionViewWidth let newIndex = selectedSegmentioIndex - (context.isFirstIndex ? 1 : 0)
centerRect.size.width = item.collectionViewWidth let newIndexPath = IndexPath(item: newIndex, section: numberOfSections - 1)
} else {
centerRect.origin.x = item.startX - (item.collectionViewWidth - centerRect.width) / 2 + segmentioCollectionView!.contentOffset.x segmentioCollectionView?.scrollToItem(
centerRect.size.width = item.collectionViewWidth at: newIndexPath,
at: UICollectionViewScrollPosition(),
animated: true
)
} }
return centerRect
} }
// MARK: Move shape layer // MARK: Move shape layer
@ -460,26 +463,15 @@ open class Segmentio: UIView {
var cellRect = CGRect.zero var cellRect = CGRect.zero
var shapeLayerWidth: CGFloat = 0 var shapeLayerWidth: CGFloat = 0
if let collectionView = segmentioCollectionView, selectedSegmentioIndex != -1 { if let collectionView = segmentioCollectionView {
collectionViewWidth = collectionView.frame.width collectionViewWidth = collectionView.frame.width
cellWidth = segmentWidth(for: IndexPath(row: selectedSegmentioIndex, section: 0)) let maxVisibleItems = segmentioOptions.maxVisibleItems > segmentioItems.count ? CGFloat(segmentioItems.count) : CGFloat(segmentioOptions.maxVisibleItems)
var x: CGFloat = 0 cellWidth = floor(collectionViewWidth / maxVisibleItems)
switch segmentioOptions.segmentPosition {
case .fixed:
x = floor(CGFloat(selectedSegmentioIndex) * cellWidth - collectionView.contentOffset.x)
case .dynamic:
guard selectedSegmentioIndex != -1 else {
break
}
for i in 0..<selectedSegmentioIndex {
x += segmentWidth(for: IndexPath(item: i, section: 0))
}
x -= collectionView.contentOffset.x
}
cellRect = CGRect( cellRect = CGRect(
x: x, x: floor(CGFloat(selectedSegmentioIndex) * cellWidth - collectionView.contentOffset.x),
y: 0, y: 0,
width: cellWidth, width: floor(collectionViewWidth / maxVisibleItems),
height: collectionView.frame.height height: collectionView.frame.height
) )
@ -494,47 +486,7 @@ open class Segmentio: UIView {
endX: floor(cellRect.midX + (shapeLayerWidth / 2)) endX: floor(cellRect.midX + (shapeLayerWidth / 2))
) )
} }
// MARK: - Segment Width
fileprivate func segmentWidth(for indexPath: IndexPath) -> CGFloat {
var width: CGFloat = 0
if let collectionView = segmentioCollectionView {
let collectionViewWidth = collectionView.frame.width
switch segmentioOptions.segmentPosition {
case .fixed(let maxVisibleItems):
let maxItems = maxVisibleItems > segmentioItems.count ? CGFloat(segmentioItems.count) : CGFloat(maxVisibleItems)
width = maxItems == 0 ? 0 : floor(collectionViewWidth / CGFloat(maxItems))
case .dynamic:
if segmentioItems.count == 0 {
break
}
var dynamicWidth: CGFloat = 0
for item in segmentioItems {
dynamicWidth += Segmentio.intrinsicWidth(for: item, style: segmentioStyle)
}
let itemWidth = Segmentio.intrinsicWidth(for: segmentioItems[indexPath.row], style: segmentioStyle)
width = dynamicWidth > collectionViewWidth ? itemWidth : itemWidth + ((collectionViewWidth - dynamicWidth) / CGFloat(segmentioItems.count))
}
}
return width
}
fileprivate static func intrinsicWidth(for item: SegmentioItem, style: SegmentioStyle) -> CGFloat {
var itemWidth: CGFloat = 0
switch style.isWithText() {
case true:
itemWidth += item.intrinsicWidth
case false:
itemWidth += item.image?.size.width ?? 0
}
itemWidth += style.layoutMargins
if style == .imageAfterLabel || style == .imageBeforeLabel {
itemWidth += SegmentioCell.segmentTitleLabelHeight
}
return itemWidth
}
// MARK: - Indicator point Y // MARK: - Indicator point Y
fileprivate func indicatorPointY() -> CGFloat { fileprivate func indicatorPointY() -> CGFloat {
@ -559,8 +511,6 @@ open class Segmentio: UIView {
let isIndicatorTop = indicatorOptions.type == .top let isIndicatorTop = indicatorOptions.type == .top
switch horizontalSeparatorOptions.type { switch horizontalSeparatorOptions.type {
case .none:
break
case .top: case .top:
indicatorPointY = isIndicatorTop ? indicatorPointY + separatorHeight : indicatorPointY indicatorPointY = isIndicatorTop ? indicatorPointY + separatorHeight : indicatorPointY
case .bottom: case .bottom:
@ -576,10 +526,6 @@ open class Segmentio: UIView {
// MARK: - UICollectionViewDataSource // MARK: - UICollectionViewDataSource
extension Segmentio: UICollectionViewDataSource { extension Segmentio: UICollectionViewDataSource {
public func numberOfSections(in collectionView: UICollectionView) -> Int {
return 1
}
public func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int { public func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
return segmentioItems.count return segmentioItems.count
@ -590,20 +536,14 @@ extension Segmentio: UICollectionViewDataSource {
withReuseIdentifier: segmentioStyle.rawValue, withReuseIdentifier: segmentioStyle.rawValue,
for: indexPath) as! SegmentioCell for: indexPath) as! SegmentioCell
let content = segmentioItems[indexPath.row]
cell.configure( cell.configure(
content: content, content: segmentioItems[indexPath.row],
style: segmentioStyle, style: segmentioStyle,
options: segmentioOptions, options: segmentioOptions,
isLastCell: indexPath.row == segmentioItems.count - 1 isLastCell: indexPath.row == segmentioItems.count - 1
) )
cell.configure( cell.configure(selected: (indexPath.row == selectedSegmentioIndex))
selected: (indexPath.row == selectedSegmentioIndex),
selectedImage: content.selectedImage,
image: content.image
)
return cell return cell
} }
@ -629,7 +569,8 @@ extension Segmentio: UICollectionViewDelegate {
extension Segmentio: UICollectionViewDelegateFlowLayout { extension Segmentio: UICollectionViewDelegateFlowLayout {
public func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize { public func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
return CGSize(width: segmentWidth(for: indexPath), height: collectionView.frame.height) let maxVisibleItems = segmentioOptions.maxVisibleItems > segmentioItems.count ? CGFloat(segmentioItems.count) : CGFloat(segmentioOptions.maxVisibleItems)
return CGSize( width: floor(collectionView.frame.width / maxVisibleItems), height: collectionView.frame.height)
} }
} }
@ -642,7 +583,7 @@ extension Segmentio: UIScrollViewDelegate {
if isPerformingScrollAnimation { if isPerformingScrollAnimation {
return return
} }
if let options = segmentioOptions.indicatorOptions, let indicatorLayer = indicatorLayer { if let options = segmentioOptions.indicatorOptions, let indicatorLayer = indicatorLayer {
let item = itemInSuperview(ratio: options.ratio) let item = itemInSuperview(ratio: options.ratio)
moveShapeLayer( moveShapeLayer(
@ -663,82 +604,43 @@ extension Segmentio: UIScrollViewDelegate {
) )
} }
} }
public func scrollViewDidEndDecelerating(_ scrollView: UIScrollView) {
isCollectionViewScrolling = false
}
} }
extension Segmentio.Points { extension Segmentio.Points {
init(context: Segmentio.Context, item: Segmentio.ItemInSuperview, atIndex index: Int, allItems: [SegmentioItem], pointY: CGFloat, position: SegmentioPosition, style: SegmentioStyle) { init(context: Segmentio.Context, item: Segmentio.ItemInSuperview, pointY: CGFloat) {
let cellWidth = item.cellFrameInSuperview.width let cellWidth = item.cellFrameInSuperview.width
var startX = item.startX var startX = item.startX
var endX = item.endX var endX = item.endX
switch position { if context.isFirstCell == false && context.isLastCell == false {
case .fixed(_): if context.isLastOrPrelastVisibleCell == true {
if context.isFirstCell == false && context.isLastCell == false { let updatedStartX = item.collectionViewWidth - (cellWidth * 2) + ((cellWidth - item.shapeLayerWidth) / 2)
if context.isLastOrPrelastVisibleCell == true { startX = updatedStartX
let updatedStartX = item.collectionViewWidth - (cellWidth * 2) + ((cellWidth - item.shapeLayerWidth) / 2) let updatedEndX = updatedStartX + item.shapeLayerWidth
startX = updatedStartX endX = updatedEndX
let updatedEndX = updatedStartX + item.shapeLayerWidth
endX = updatedEndX
}
if context.isFirstOrSecondVisibleCell == true {
let updatedEndX = (cellWidth * 2) - ((cellWidth - item.shapeLayerWidth) / 2)
endX = updatedEndX
let updatedStartX = updatedEndX - item.shapeLayerWidth
startX = updatedStartX
}
if context.isFirstCell == true {
startX = (cellWidth - item.shapeLayerWidth) / 2
endX = startX + item.shapeLayerWidth
}
if context.isLastCell == true {
startX = item.collectionViewWidth - cellWidth + (cellWidth - item.shapeLayerWidth) / 2
endX = startX + item.shapeLayerWidth
}
} }
case .dynamic:
// If the collection content view is not completely visible... if context.isFirstOrSecondVisibleCell == true {
// We have to calculate the final position of the item let updatedEndX = (cellWidth * 2) - ((cellWidth - item.shapeLayerWidth) / 2)
var dynamicWidth: CGFloat = 0 endX = updatedEndX
for item in allItems { let updatedStartX = updatedEndX - item.shapeLayerWidth
dynamicWidth += Segmentio.intrinsicWidth(for: item, style: style) startX = updatedStartX
}
if item.collectionViewWidth < dynamicWidth {
startX = 0
endX = 0
var spaceBefore: CGFloat = 0
var spaceAfter: CGFloat = 0
var i = 0
for item in allItems {
if i < index {
spaceBefore += Segmentio.intrinsicWidth(for: item, style: style)
} else if i > index {
spaceAfter += Segmentio.intrinsicWidth(for: item, style: style)
}
i += 1
}
// Cell will try to position itself in the middle, unless it can't because
// the collection view has reached the beginning or end
if spaceBefore < (item.collectionViewWidth - cellWidth) / 2 {
startX = spaceBefore
} else if spaceAfter < (item.collectionViewWidth - cellWidth) / 2 {
startX = item.collectionViewWidth - spaceAfter - item.cellFrameInSuperview.width
} else {
startX = (item.collectionViewWidth / 2) - (cellWidth / 2 )
}
endX = startX + cellWidth
} }
} }
if context.isFirstCell == true {
startX = (cellWidth - item.shapeLayerWidth) / 2
endX = startX + item.shapeLayerWidth
}
if context.isLastCell == true {
startX = item.collectionViewWidth - cellWidth + (cellWidth - item.shapeLayerWidth) / 2
endX = startX + item.shapeLayerWidth
}
startPoint = CGPoint(x: startX, y: pointY) startPoint = CGPoint(x: startX, y: pointY)
endPoint = CGPoint(x: endX, y: pointY) endPoint = CGPoint(x: endX, y: pointY)
} }

View File

@ -14,20 +14,12 @@ public struct SegmentioItem {
public var title: String? public var title: String?
public var image: UIImage? public var image: UIImage?
public var selectedImage: UIImage?
public var badgeCount: Int? public var badgeCount: Int?
public var badgeColor: UIColor? public var badgeColor: UIColor?
public var intrinsicWidth: CGFloat {
let label = UILabel()
label.text = self.title
label.sizeToFit()
return label.intrinsicContentSize.width
}
public init(title: String?, image: UIImage?, selectedImage: UIImage? = nil) { public init(title: String?, image: UIImage?) {
self.title = title self.title = title
self.image = image self.image = image
self.selectedImage = selectedImage ?? image
} }
public mutating func addBadge(_ count: Int, color: UIColor) { public mutating func addBadge(_ count: Int, color: UIColor) {
@ -64,7 +56,7 @@ public struct SegmentioState {
// MARK: - Horizontal separator // MARK: - Horizontal separator
public enum SegmentioHorizontalSeparatorType { public enum SegmentioHorizontalSeparatorType {
case none
case top case top
case bottom case bottom
case topAndBottom case topAndBottom
@ -124,13 +116,6 @@ public struct SegmentioIndicatorOptions {
} }
// MARK: - Position
public enum SegmentioPosition {
case dynamic
case fixed(maxVisibleItems: Int)
}
// MARK: - Control options // MARK: - Control options
public enum SegmentioStyle: String { public enum SegmentioStyle: String {
@ -163,16 +148,6 @@ public enum SegmentioStyle: String {
return false return false
} }
} }
public var layoutMargins: CGFloat {
let defaultLayoutMargins: CGFloat = 8.0
switch self {
case .onlyLabel, .imageAfterLabel, .imageBeforeLabel, .imageOverLabel, .imageUnderLabel:
return 4 * defaultLayoutMargins
case .onlyImage:
return 2 * defaultLayoutMargins
}
}
} }
public typealias SegmentioStates = (defaultState: SegmentioState, selectedState: SegmentioState, highlightedState: SegmentioState) public typealias SegmentioStates = (defaultState: SegmentioState, selectedState: SegmentioState, highlightedState: SegmentioState)
@ -180,7 +155,7 @@ public typealias SegmentioStates = (defaultState: SegmentioState, selectedState:
public struct SegmentioOptions { public struct SegmentioOptions {
var backgroundColor: UIColor var backgroundColor: UIColor
var segmentPosition: SegmentioPosition var maxVisibleItems: Int
var scrollEnabled: Bool var scrollEnabled: Bool
var horizontalSeparatorOptions: SegmentioHorizontalSeparatorOptions? var horizontalSeparatorOptions: SegmentioHorizontalSeparatorOptions?
var verticalSeparatorOptions: SegmentioVerticalSeparatorOptions? var verticalSeparatorOptions: SegmentioVerticalSeparatorOptions?
@ -193,7 +168,7 @@ public struct SegmentioOptions {
public init() { public init() {
self.backgroundColor = .lightGray self.backgroundColor = .lightGray
self.segmentPosition = .fixed(maxVisibleItems: 4) self.maxVisibleItems = 4
self.scrollEnabled = true self.scrollEnabled = true
self.horizontalSeparatorOptions = SegmentioHorizontalSeparatorOptions() self.horizontalSeparatorOptions = SegmentioHorizontalSeparatorOptions()
@ -213,9 +188,9 @@ public struct SegmentioOptions {
self.animationDuration = 0.1 self.animationDuration = 0.1
} }
public init(backgroundColor: UIColor, segmentPosition: SegmentioPosition, scrollEnabled: Bool, indicatorOptions: SegmentioIndicatorOptions?, horizontalSeparatorOptions: SegmentioHorizontalSeparatorOptions?, verticalSeparatorOptions: SegmentioVerticalSeparatorOptions?, imageContentMode: UIViewContentMode, labelTextAlignment: NSTextAlignment, labelTextNumberOfLines: Int, segmentStates: SegmentioStates, animationDuration: CFTimeInterval) { public init(backgroundColor: UIColor, maxVisibleItems: Int, scrollEnabled: Bool, indicatorOptions: SegmentioIndicatorOptions?, horizontalSeparatorOptions: SegmentioHorizontalSeparatorOptions?, verticalSeparatorOptions: SegmentioVerticalSeparatorOptions?, imageContentMode: UIViewContentMode, labelTextAlignment: NSTextAlignment, labelTextNumberOfLines: Int, segmentStates: SegmentioStates, animationDuration: CFTimeInterval) {
self.backgroundColor = backgroundColor self.backgroundColor = backgroundColor
self.segmentPosition = segmentPosition self.maxVisibleItems = maxVisibleItems
self.scrollEnabled = scrollEnabled self.scrollEnabled = scrollEnabled
self.indicatorOptions = indicatorOptions self.indicatorOptions = indicatorOptions
self.horizontalSeparatorOptions = horizontalSeparatorOptions self.horizontalSeparatorOptions = horizontalSeparatorOptions