Compare commits
22 Commits
master
...
fix/labels
| Author | SHA1 | Date |
|---|---|---|
|
|
01b4b473f7 | |
|
|
02126181c3 | |
|
|
447ae9404b | |
|
|
c37e26eadf | |
|
|
acfd59e56c | |
|
|
7b8ca108d7 | |
|
|
42194e99c9 | |
|
|
2f123fcb35 | |
|
|
9805a5106c | |
|
|
72c4974a43 | |
|
|
2ffa43f898 | |
|
|
f81702be30 | |
|
|
592929655c | |
|
|
699cbee747 | |
|
|
7a1809a4a9 | |
|
|
1b6a38609e | |
|
|
85bed4548b | |
|
|
42f55d33d2 | |
|
|
762b7b17cb | |
|
|
19a6e00996 | |
|
|
e46a86115d | |
|
|
7ddc140724 |
|
|
@ -0,0 +1,58 @@
|
|||
## 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!
|
||||
|
||||
#### [](https://Yalantis.com/?utm_source=github)
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
PODS:
|
||||
- Segmentio (1.1.3)
|
||||
- Segmentio (2.1.2)
|
||||
|
||||
DEPENDENCIES:
|
||||
- Segmentio (from `../`)
|
||||
|
|
@ -9,8 +9,8 @@ EXTERNAL SOURCES:
|
|||
:path: "../"
|
||||
|
||||
SPEC CHECKSUMS:
|
||||
Segmentio: f784171237bcbb4854f338aef8162e312f4ac5b8
|
||||
Segmentio: 5d6ce19ca05e83164fff1371396fe6212b8ea82f
|
||||
|
||||
PODFILE CHECKSUM: 761653fe0a6001fe4076ba25b04e279672ecc970
|
||||
|
||||
COCOAPODS: 1.1.0.rc.2
|
||||
COCOAPODS: 1.2.1
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "Segmentio",
|
||||
"version": "1.1.3",
|
||||
"version": "2.1.2",
|
||||
"homepage": "https://github.com/Yalantis/Segmentio",
|
||||
"summary": "Animated top/bottom segmented control written in Swift!",
|
||||
"screenshots": "https://raw.githubusercontent.com/Yalantis/Segmentio/master/Assets/animation.gif",
|
||||
|
|
@ -15,7 +15,7 @@
|
|||
},
|
||||
"source": {
|
||||
"git": "https://github.com/Yalantis/Segmentio.git",
|
||||
"tag": "1.1.3"
|
||||
"tag": "2.1.2"
|
||||
},
|
||||
"source_files": "Segmentio/Source/**/*.swift",
|
||||
"resources": "Segmentio/Source/Badge/Views/*.xib",
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
PODS:
|
||||
- Segmentio (1.1.3)
|
||||
- Segmentio (2.1.2)
|
||||
|
||||
DEPENDENCIES:
|
||||
- Segmentio (from `../`)
|
||||
|
|
@ -9,8 +9,8 @@ EXTERNAL SOURCES:
|
|||
:path: "../"
|
||||
|
||||
SPEC CHECKSUMS:
|
||||
Segmentio: f784171237bcbb4854f338aef8162e312f4ac5b8
|
||||
Segmentio: 5d6ce19ca05e83164fff1371396fe6212b8ea82f
|
||||
|
||||
PODFILE CHECKSUM: 761653fe0a6001fe4076ba25b04e279672ecc970
|
||||
|
||||
COCOAPODS: 1.1.0.rc.2
|
||||
COCOAPODS: 1.2.1
|
||||
|
|
|
|||
|
|
@ -7,45 +7,45 @@
|
|||
objects = {
|
||||
|
||||
/* Begin PBXBuildFile section */
|
||||
0906DB2204F3DA0B929ED2B2FD92C3BE /* SegmentioCellWithImageOverLabel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 71AC7FDBBA82CCF64068DC1436B7C44C /* SegmentioCellWithImageOverLabel.swift */; };
|
||||
0BC7695D61D9046BFBE6CFD6B47FFFE1 /* Pods-Segmentio_Example-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 8758BAC37EDDE6390078CCD596B97C99 /* Pods-Segmentio_Example-dummy.m */; };
|
||||
0BC8A81C32C10C3EB2DDF82EAD33481D /* SegmentioCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9034CEC1DC6A90954C69B5CF0A879E9D /* SegmentioCell.swift */; };
|
||||
11E7945679FA0D80B96BC5DA4B1D00D0 /* SegmentioOptions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1224468BD5929E62BFF27E1C11853D24 /* SegmentioOptions.swift */; };
|
||||
1E8DCF6AD4051E3F7CFD9B55341DD455 /* Segmentio-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = C56AE5AC5779B7D4F6468D2AB474D9E7 /* Segmentio-dummy.m */; };
|
||||
1F40A33F3F753FF73C5F80F006E14410 /* Segmentio.bundle in Resources */ = {isa = PBXBuildFile; fileRef = 2AAAF5E594CC994BE5AD10F8928BC48A /* Segmentio.bundle */; };
|
||||
20218D2C75E1CA8E41531E94BA06C129 /* SegmentioCellWithImageUnderLabel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 917595D61BE778C2053B6C375292B042 /* SegmentioCellWithImageUnderLabel.swift */; };
|
||||
2DA5CD5E23B0E19B8FA2F11146E4A0E5 /* SegmentioCellWithLabel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6A4666D5034926280B3C39CB8CA59319 /* SegmentioCellWithLabel.swift */; };
|
||||
4E01C978EC149C600FF7658A6757204A /* SegmentioCellWithImageAfterLabel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 564D3D18F6E439E721C7D49AC8379559 /* SegmentioCellWithImageAfterLabel.swift */; };
|
||||
5BE82675DB7F0C7671EADA9CF99A3C1B /* Segmentio.swift in Sources */ = {isa = PBXBuildFile; fileRef = D91D0C0018887EA8F91F91162FF71F60 /* Segmentio.swift */; };
|
||||
655C575E9623729978F286F79E4EAEB8 /* BadgeWithCounterViewStandardSized.xib in Resources */ = {isa = PBXBuildFile; fileRef = 6E90ECA263F832D2C77F806A4581AE25 /* BadgeWithCounterViewStandardSized.xib */; };
|
||||
8F726950BDA00432603D2B6B01881D59 /* BadgeWithCounterViewBigSized.xib in Resources */ = {isa = PBXBuildFile; fileRef = 11C011383E55FDF0C1CFAA8E1E01F52C /* BadgeWithCounterViewBigSized.xib */; };
|
||||
933D56EF2ECC35F1387B739170AFE07B /* Segmentio-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 80BC1DC599A5ED2C131F4E6D0D020D88 /* Segmentio-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
9EE6B5FE2A8EA2C0612C11D34596B7EB /* BadgeViewPresenter.swift in Sources */ = {isa = PBXBuildFile; fileRef = E3C9CACA5CC49ABD89BB5C0082B56F17 /* BadgeViewPresenter.swift */; };
|
||||
BC2B9C2A1711F5583A80C1FA7F6F195F /* SegmentioCellWithImage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1BF90D3EF6772ECC6F43EF17AAB5C916 /* SegmentioCellWithImage.swift */; };
|
||||
C1518E27E6C853C813006C349427A4CC /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CEC22C73C1608DFA5D5D78BDCB218219 /* Foundation.framework */; };
|
||||
C3DB5E9DDBA27211C6E8654A363CA0BC /* UIView+Appearance.swift in Sources */ = {isa = PBXBuildFile; fileRef = 38BC6E8817CCBFF23555995D47BF0848 /* UIView+Appearance.swift */; };
|
||||
C4EFEC716055615A27A3D1338426807D /* BadgeWithCounterViewBigSized.xib in Resources */ = {isa = PBXBuildFile; fileRef = 11C011383E55FDF0C1CFAA8E1E01F52C /* BadgeWithCounterViewBigSized.xib */; };
|
||||
C917381BC4E7C5EFBC2CD2C898C1C8E4 /* SegmentioCellWithImageBeforeLabel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 56D84AE8DDC577C7E7499059038BABBC /* SegmentioCellWithImageBeforeLabel.swift */; };
|
||||
D29DE39BAA26D8E4DA7534F05DFB78F4 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CEC22C73C1608DFA5D5D78BDCB218219 /* Foundation.framework */; };
|
||||
D9EBCEA1512D4B307726BFEB5F29EF70 /* BadgeWithCounterViewStandardSized.xib in Resources */ = {isa = PBXBuildFile; fileRef = 6E90ECA263F832D2C77F806A4581AE25 /* BadgeWithCounterViewStandardSized.xib */; };
|
||||
E6E0179AF8247CB20CB77A1E33C88C7F /* RoundImageView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A561B2B4C70B40E0E028301D454D3EBF /* RoundImageView.swift */; };
|
||||
EA89BD32CAE3C825C749261B9D4A2031 /* Pods-Segmentio_Example-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = FCCE72372A4C77BEF387923951E588F2 /* Pods-Segmentio_Example-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
F6814CD90D68BE2911E97CE7F62E5DA1 /* BadgeWithCounterView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 64BE9AEFB42AAAC25501C181FF72B653 /* BadgeWithCounterView.swift */; };
|
||||
10DBA0DC35646EAA223634A2DD73D86B /* BadgeWithCounterViewStandardSized.xib in Resources */ = {isa = PBXBuildFile; fileRef = 6E90ECA263F832D2C77F806A4581AE25 /* BadgeWithCounterViewStandardSized.xib */; };
|
||||
1F0E113E30DFCE466DADCD6B36FB9563 /* SegmentioCellWithImage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1BF90D3EF6772ECC6F43EF17AAB5C916 /* SegmentioCellWithImage.swift */; };
|
||||
4A6BC5F77C2DC7121875E9796CC0F71C /* RoundImageView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A561B2B4C70B40E0E028301D454D3EBF /* RoundImageView.swift */; };
|
||||
65CBF11B7E36B8038CA96C7154BD593F /* SegmentioOptions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1224468BD5929E62BFF27E1C11853D24 /* SegmentioOptions.swift */; };
|
||||
6C19E98544CCC74ACB0435CF36812D7E /* SegmentioCellWithLabel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6A4666D5034926280B3C39CB8CA59319 /* SegmentioCellWithLabel.swift */; };
|
||||
802CB441FA23AAC29D23AF3266B93C81 /* BadgeWithCounterView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 64BE9AEFB42AAAC25501C181FF72B653 /* BadgeWithCounterView.swift */; };
|
||||
9B1A0F3B28E1D7077074244267A7CC06 /* BadgeViewPresenter.swift in Sources */ = {isa = PBXBuildFile; fileRef = E3C9CACA5CC49ABD89BB5C0082B56F17 /* BadgeViewPresenter.swift */; };
|
||||
9C52286A3F04BE4FFB59CE603E85EE33 /* UIView+Appearance.swift in Sources */ = {isa = PBXBuildFile; fileRef = 38BC6E8817CCBFF23555995D47BF0848 /* UIView+Appearance.swift */; };
|
||||
9F8DE05359BBE5FE5D6CDF44981E2748 /* Segmentio-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 80BC1DC599A5ED2C131F4E6D0D020D88 /* Segmentio-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
AC1BDB567F0F35B766CA875725D48E4B /* Segmentio-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = C56AE5AC5779B7D4F6468D2AB474D9E7 /* Segmentio-dummy.m */; };
|
||||
B222BF92FB6B2AB1570468B413B9574C /* Pods-Segmentio_Example-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = FCCE72372A4C77BEF387923951E588F2 /* Pods-Segmentio_Example-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
BBBD49F8C72F89C61AF39D22CB78482D /* Segmentio.swift in Sources */ = {isa = PBXBuildFile; fileRef = D91D0C0018887EA8F91F91162FF71F60 /* Segmentio.swift */; };
|
||||
C460163ABA2667473711E5076164BEA6 /* SegmentioCellWithImageBeforeLabel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 56D84AE8DDC577C7E7499059038BABBC /* SegmentioCellWithImageBeforeLabel.swift */; };
|
||||
C4D341CAAFF7C6E722E2FA0B51123051 /* SegmentioCellWithImageOverLabel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 71AC7FDBBA82CCF64068DC1436B7C44C /* SegmentioCellWithImageOverLabel.swift */; };
|
||||
CA80C8652BBBA628FBACB72025D31AB5 /* SegmentioCellWithImageAfterLabel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 564D3D18F6E439E721C7D49AC8379559 /* SegmentioCellWithImageAfterLabel.swift */; };
|
||||
CB4E396274804674528FDEF730FFE204 /* SegmentioCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9034CEC1DC6A90954C69B5CF0A879E9D /* SegmentioCell.swift */; };
|
||||
D2C5536F2936DAFDFB2EB014181A8CD2 /* BadgeWithCounterViewBigSized.xib in Resources */ = {isa = PBXBuildFile; fileRef = 11C011383E55FDF0C1CFAA8E1E01F52C /* BadgeWithCounterViewBigSized.xib */; };
|
||||
E1A4407E88B99A006D9E2C92438128A4 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6604A7D69453B4569E4E4827FB9155A9 /* Foundation.framework */; };
|
||||
E358BED78F38E8EE9D622B189132F620 /* BadgeWithCounterViewBigSized.xib in Resources */ = {isa = PBXBuildFile; fileRef = 11C011383E55FDF0C1CFAA8E1E01F52C /* BadgeWithCounterViewBigSized.xib */; };
|
||||
E49AB26D0E6E0A15958BA72E63E66F24 /* SegmentioCellWithImageUnderLabel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 917595D61BE778C2053B6C375292B042 /* SegmentioCellWithImageUnderLabel.swift */; };
|
||||
E9CCB40A40C825036DBE3AE35204A564 /* Segmentio.bundle in Resources */ = {isa = PBXBuildFile; fileRef = 2AAAF5E594CC994BE5AD10F8928BC48A /* Segmentio.bundle */; };
|
||||
EBFC5756AF3E115F05FA843982EA45A6 /* BadgeWithCounterViewStandardSized.xib in Resources */ = {isa = PBXBuildFile; fileRef = 6E90ECA263F832D2C77F806A4581AE25 /* BadgeWithCounterViewStandardSized.xib */; };
|
||||
FBD5F9C12B94DAB4178B539E51B01AD5 /* Pods-Segmentio_Example-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 8758BAC37EDDE6390078CCD596B97C99 /* Pods-Segmentio_Example-dummy.m */; };
|
||||
FFB295F820F3A3F6A6BCFFDA612EE269 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6604A7D69453B4569E4E4827FB9155A9 /* Foundation.framework */; };
|
||||
/* End PBXBuildFile section */
|
||||
|
||||
/* Begin PBXContainerItemProxy section */
|
||||
A6C32E782852D555836218D4A7416DD0 /* PBXContainerItemProxy */ = {
|
||||
1CD5EA631E033BE1FFAC1F0278614DDB /* PBXContainerItemProxy */ = {
|
||||
isa = PBXContainerItemProxy;
|
||||
containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */;
|
||||
proxyType = 1;
|
||||
remoteGlobalIDString = D69CC732EFB91EE42BE73E5030BD387C;
|
||||
remoteGlobalIDString = 699603020952F58BDBA3104C9DFFCE8D;
|
||||
remoteInfo = Segmentio;
|
||||
};
|
||||
B485C2D39BE98A2AA0F4993CC65D306C /* PBXContainerItemProxy */ = {
|
||||
FC9446558039D9AF888D6FE6B4955A11 /* PBXContainerItemProxy */ = {
|
||||
isa = PBXContainerItemProxy;
|
||||
containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */;
|
||||
proxyType = 1;
|
||||
remoteGlobalIDString = D8AEF8C76AD2A8E5BDCDA4CC1BD107B6;
|
||||
remoteGlobalIDString = 50E4AD31DE0962A93E2FB9A9936DE5A5;
|
||||
remoteInfo = "Segmentio-Segmentio";
|
||||
};
|
||||
/* End PBXContainerItemProxy section */
|
||||
|
|
@ -55,17 +55,18 @@
|
|||
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>"; };
|
||||
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; path = Segmentio.bundle; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
2AAAF5E594CC994BE5AD10F8928BC48A /* Segmentio.bundle */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; name = Segmentio.bundle; 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>"; };
|
||||
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>"; };
|
||||
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; lastKnownFileType = "sourcecode.module-map"; path = Segmentio.modulemap; sourceTree = "<group>"; };
|
||||
4DA45A534C62C7379DB6EF50F3B4DBFA /* Segmentio.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; 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>"; };
|
||||
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>"; };
|
||||
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>"; };
|
||||
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>"; };
|
||||
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>"; };
|
||||
|
|
@ -74,43 +75,42 @@
|
|||
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>"; };
|
||||
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; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; xcLanguageSpecificationIdentifier = xcode.lang.ruby; };
|
||||
93A4A3777CF96A4AAC1D13BA6DCCEA73 /* Podfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; lastKnownFileType = text; 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>"; };
|
||||
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>"; };
|
||||
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; path = Pods_Segmentio_Example.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
B2527411739A24C97909490FC5C54F10 /* Pods-Segmentio_Example.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = "sourcecode.module-map"; path = "Pods-Segmentio_Example.modulemap"; 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; };
|
||||
B2527411739A24C97909490FC5C54F10 /* Pods-Segmentio_Example.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; 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>"; };
|
||||
C373AAC9C68346B42AC567AD943825F7 /* Segmentio.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Segmentio.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
C373AAC9C68346B42AC567AD943825F7 /* Segmentio.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Segmentio.framework; 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>"; };
|
||||
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>"; };
|
||||
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>"; };
|
||||
/* End PBXFileReference section */
|
||||
|
||||
/* Begin PBXFrameworksBuildPhase section */
|
||||
CF0100512E0E927F05DB406E0E01DF38 /* Frameworks */ = {
|
||||
1032A4A2B2D865D1364B0D814D15B03F /* Frameworks */ = {
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
FFB295F820F3A3F6A6BCFFDA612EE269 /* Foundation.framework in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
89A56CD477E5A8C2040C847A66A1BB44 /* Frameworks */ = {
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
DD95959AB8521184CAFA5D68D3F0C0BA /* Frameworks */ = {
|
||||
E3DDCE9DEA1F5BC20D4245CB9DC81BED /* Frameworks */ = {
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
C1518E27E6C853C813006C349427A4CC /* Foundation.framework in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
FD59EF5B4845512C0FE01CF908756FB5 /* Frameworks */ = {
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
D29DE39BAA26D8E4DA7534F05DFB78F4 /* Foundation.framework in Frameworks */,
|
||||
E1A4407E88B99A006D9E2C92438128A4 /* Foundation.framework in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
|
|
@ -123,6 +123,7 @@
|
|||
A561B2B4C70B40E0E028301D454D3EBF /* RoundImageView.swift */,
|
||||
38BC6E8817CCBFF23555995D47BF0848 /* UIView+Appearance.swift */,
|
||||
);
|
||||
name = Extensions;
|
||||
path = Extensions;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
|
|
@ -139,6 +140,7 @@
|
|||
children = (
|
||||
C65C2B1DCC149D19571A5F7FAE3D31AF /* Views */,
|
||||
);
|
||||
name = Badge;
|
||||
path = Badge;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
|
|
@ -153,14 +155,6 @@
|
|||
path = ../..;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
3DCAB2B7CDE207B3958B6CB957FCC758 /* iOS */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
CEC22C73C1608DFA5D5D78BDCB218219 /* Foundation.framework */,
|
||||
);
|
||||
name = iOS;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
413F9187DDE34CC36B0E06866BC84500 /* Support Files */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
|
|
@ -181,6 +175,7 @@
|
|||
children = (
|
||||
64BE9AEFB42AAAC25501C181FF72B653 /* BadgeWithCounterView.swift */,
|
||||
);
|
||||
name = Views;
|
||||
path = Views;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
|
|
@ -221,6 +216,7 @@
|
|||
917595D61BE778C2053B6C375292B042 /* SegmentioCellWithImageUnderLabel.swift */,
|
||||
6A4666D5034926280B3C39CB8CA59319 /* SegmentioCellWithLabel.swift */,
|
||||
);
|
||||
name = Cells;
|
||||
path = Cells;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
|
|
@ -252,6 +248,7 @@
|
|||
71680BC21E0B1ABC000B38795FC22CBC /* Cells */,
|
||||
00A2FBBF1263542044856398E75BAA76 /* Extensions */,
|
||||
);
|
||||
name = Source;
|
||||
path = Source;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
|
|
@ -260,13 +257,14 @@
|
|||
children = (
|
||||
A4FF14891748501365A9790ED2BDF024 /* Source */,
|
||||
);
|
||||
name = Segmentio;
|
||||
path = Segmentio;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
BC3CA7F9E30CC8F7E2DD044DD34432FC /* Frameworks */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
3DCAB2B7CDE207B3958B6CB957FCC758 /* iOS */,
|
||||
D35AF013A5F0BAD4F32504907A52519E /* iOS */,
|
||||
);
|
||||
name = Frameworks;
|
||||
sourceTree = "<group>";
|
||||
|
|
@ -277,6 +275,7 @@
|
|||
11C011383E55FDF0C1CFAA8E1E01F52C /* BadgeWithCounterViewBigSized.xib */,
|
||||
6E90ECA263F832D2C77F806A4581AE25 /* BadgeWithCounterViewStandardSized.xib */,
|
||||
);
|
||||
name = Views;
|
||||
path = Views;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
|
|
@ -286,6 +285,7 @@
|
|||
E3C9CACA5CC49ABD89BB5C0082B56F17 /* BadgeViewPresenter.swift */,
|
||||
635B6B346CBAAB1DB0593E0D25A25ED9 /* Views */,
|
||||
);
|
||||
name = Badge;
|
||||
path = Badge;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
|
|
@ -299,11 +299,20 @@
|
|||
name = Products;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
D35AF013A5F0BAD4F32504907A52519E /* iOS */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
6604A7D69453B4569E4E4827FB9155A9 /* Foundation.framework */,
|
||||
);
|
||||
name = iOS;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
D99857A2684E0E97D1E32D0B130B5366 /* Segmentio */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
F1249F9ED37CBEF49B81DE98EA2709C1 /* Source */,
|
||||
);
|
||||
name = Segmentio;
|
||||
path = Segmentio;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
|
|
@ -312,75 +321,39 @@
|
|||
children = (
|
||||
1C2ABA084F34F1E71EB56C0EA2DD4699 /* Badge */,
|
||||
);
|
||||
name = Source;
|
||||
path = Source;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
/* End PBXGroup section */
|
||||
|
||||
/* Begin PBXHeadersBuildPhase section */
|
||||
5ADAE197C16A9C5A10D0C5F779D181D8 /* Headers */ = {
|
||||
598C65CEC64B0118F582684A6FAE8940 /* Headers */ = {
|
||||
isa = PBXHeadersBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
933D56EF2ECC35F1387B739170AFE07B /* Segmentio-umbrella.h in Headers */,
|
||||
B222BF92FB6B2AB1570468B413B9574C /* Pods-Segmentio_Example-umbrella.h in Headers */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
C1CCF605E0A81C17A47094F5032DBFAE /* Headers */ = {
|
||||
6F0BC796080758E4FAABD24B01791B29 /* Headers */ = {
|
||||
isa = PBXHeadersBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
EA89BD32CAE3C825C749261B9D4A2031 /* Pods-Segmentio_Example-umbrella.h in Headers */,
|
||||
9F8DE05359BBE5FE5D6CDF44981E2748 /* Segmentio-umbrella.h in Headers */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXHeadersBuildPhase section */
|
||||
|
||||
/* Begin PBXNativeTarget section */
|
||||
1773C65AAC9F8837BB8142660D7320E0 /* Pods-Segmentio_Example */ = {
|
||||
50E4AD31DE0962A93E2FB9A9936DE5A5 /* Segmentio-Segmentio */ = {
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = CC37EAE0F58FC2B11F123B84FE6B0FAC /* Build configuration list for PBXNativeTarget "Pods-Segmentio_Example" */;
|
||||
buildConfigurationList = 2041218D8A7CEE9097033B80A896D7B1 /* Build configuration list for PBXNativeTarget "Segmentio-Segmentio" */;
|
||||
buildPhases = (
|
||||
5B2B601769FDD1B81F6ECD3FBC7CAF20 /* Sources */,
|
||||
DD95959AB8521184CAFA5D68D3F0C0BA /* Frameworks */,
|
||||
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 */,
|
||||
3F54670759DAE1C79D7082F7577C96BC /* Sources */,
|
||||
89A56CD477E5A8C2040C847A66A1BB44 /* Frameworks */,
|
||||
AE553F700E4B89BB20D4562B90C6FDD8 /* Resources */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
|
|
@ -391,13 +364,50 @@
|
|||
productReference = 2AAAF5E594CC994BE5AD10F8928BC48A /* Segmentio.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 */
|
||||
|
||||
/* Begin PBXProject section */
|
||||
D41D8CD98F00B204E9800998ECF8427E /* Project object */ = {
|
||||
isa = PBXProject;
|
||||
attributes = {
|
||||
LastSwiftUpdateCheck = 0730;
|
||||
LastSwiftUpdateCheck = 0830;
|
||||
LastUpgradeCheck = 0700;
|
||||
};
|
||||
buildConfigurationList = 2D8E8EC45A3A1A1D94AE762CB5028504 /* Build configuration list for PBXProject "Pods" */;
|
||||
|
|
@ -412,95 +422,134 @@
|
|||
projectDirPath = "";
|
||||
projectRoot = "";
|
||||
targets = (
|
||||
1773C65AAC9F8837BB8142660D7320E0 /* Pods-Segmentio_Example */,
|
||||
D69CC732EFB91EE42BE73E5030BD387C /* Segmentio */,
|
||||
D8AEF8C76AD2A8E5BDCDA4CC1BD107B6 /* Segmentio-Segmentio */,
|
||||
FA42DDB511D342F4A39A132C777D0021 /* Pods-Segmentio_Example */,
|
||||
699603020952F58BDBA3104C9DFFCE8D /* Segmentio */,
|
||||
50E4AD31DE0962A93E2FB9A9936DE5A5 /* Segmentio-Segmentio */,
|
||||
);
|
||||
};
|
||||
/* End PBXProject section */
|
||||
|
||||
/* Begin PBXResourcesBuildPhase section */
|
||||
2DA0271DF525DE03AD9084DEC244781A /* Resources */ = {
|
||||
AE553F700E4B89BB20D4562B90C6FDD8 /* Resources */ = {
|
||||
isa = PBXResourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
8F726950BDA00432603D2B6B01881D59 /* BadgeWithCounterViewBigSized.xib in Resources */,
|
||||
655C575E9623729978F286F79E4EAEB8 /* BadgeWithCounterViewStandardSized.xib in Resources */,
|
||||
E358BED78F38E8EE9D622B189132F620 /* BadgeWithCounterViewBigSized.xib in Resources */,
|
||||
10DBA0DC35646EAA223634A2DD73D86B /* BadgeWithCounterViewStandardSized.xib in Resources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
F167B0867D416B414A778DE5486644A6 /* Resources */ = {
|
||||
EC2DCA2DC35D6B0CC028F0166FFB89D3 /* Resources */ = {
|
||||
isa = PBXResourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
C4EFEC716055615A27A3D1338426807D /* BadgeWithCounterViewBigSized.xib in Resources */,
|
||||
D9EBCEA1512D4B307726BFEB5F29EF70 /* BadgeWithCounterViewStandardSized.xib in Resources */,
|
||||
1F40A33F3F753FF73C5F80F006E14410 /* Segmentio.bundle in Resources */,
|
||||
D2C5536F2936DAFDFB2EB014181A8CD2 /* BadgeWithCounterViewBigSized.xib in Resources */,
|
||||
EBFC5756AF3E115F05FA843982EA45A6 /* BadgeWithCounterViewStandardSized.xib in Resources */,
|
||||
E9CCB40A40C825036DBE3AE35204A564 /* Segmentio.bundle in Resources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXResourcesBuildPhase section */
|
||||
|
||||
/* Begin PBXSourcesBuildPhase section */
|
||||
5B2B601769FDD1B81F6ECD3FBC7CAF20 /* Sources */ = {
|
||||
26746DB23C01A10BE83BA4ED72329865 /* Sources */ = {
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
0BC7695D61D9046BFBE6CFD6B47FFFE1 /* Pods-Segmentio_Example-dummy.m in Sources */,
|
||||
9B1A0F3B28E1D7077074244267A7CC06 /* BadgeViewPresenter.swift 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;
|
||||
};
|
||||
BECDA7466A3F2048BD0D16982C6C441A /* Sources */ = {
|
||||
3F54670759DAE1C79D7082F7577C96BC /* Sources */ = {
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
F9B7581237D6E81DE197B72773B36420 /* Sources */ = {
|
||||
71E9F4CE9357EDBDEEE4D005D3A6F583 /* Sources */ = {
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
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 */,
|
||||
FBD5F9C12B94DAB4178B539E51B01AD5 /* Pods-Segmentio_Example-dummy.m in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXSourcesBuildPhase section */
|
||||
|
||||
/* Begin PBXTargetDependency section */
|
||||
7EE0160D6232AE6A93308C253B5E48D6 /* PBXTargetDependency */ = {
|
||||
0DCD8E423B2B77C138FA0726DE2A5C2D /* PBXTargetDependency */ = {
|
||||
isa = PBXTargetDependency;
|
||||
name = "Segmentio-Segmentio";
|
||||
target = D8AEF8C76AD2A8E5BDCDA4CC1BD107B6 /* Segmentio-Segmentio */;
|
||||
targetProxy = B485C2D39BE98A2AA0F4993CC65D306C /* PBXContainerItemProxy */;
|
||||
target = 50E4AD31DE0962A93E2FB9A9936DE5A5 /* Segmentio-Segmentio */;
|
||||
targetProxy = FC9446558039D9AF888D6FE6B4955A11 /* PBXContainerItemProxy */;
|
||||
};
|
||||
D49BEB0E5AAF16F8BE48EA55C820C1A4 /* PBXTargetDependency */ = {
|
||||
76FB2D568968517D610E58E6DE20B975 /* PBXTargetDependency */ = {
|
||||
isa = PBXTargetDependency;
|
||||
name = Segmentio;
|
||||
target = D69CC732EFB91EE42BE73E5030BD387C /* Segmentio */;
|
||||
targetProxy = A6C32E782852D555836218D4A7416DD0 /* PBXContainerItemProxy */;
|
||||
target = 699603020952F58BDBA3104C9DFFCE8D /* Segmentio */;
|
||||
targetProxy = 1CD5EA631E033BE1FFAC1F0278614DDB /* PBXContainerItemProxy */;
|
||||
};
|
||||
/* End PBXTargetDependency section */
|
||||
|
||||
/* Begin XCBuildConfiguration section */
|
||||
015A368F878AC3E2CEAE21DDE8026304 /* Debug */ = {
|
||||
0CAC0F262E7DD097927860FC763994DF /* Release */ = {
|
||||
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;
|
||||
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;
|
||||
|
|
@ -508,10 +557,182 @@
|
|||
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__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__DUPLICATE_METHOD_MATCH = YES;
|
||||
CODE_SIGNING_REQUIRED = NO;
|
||||
|
|
@ -540,115 +761,7 @@
|
|||
};
|
||||
name = 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 */ = {
|
||||
CE9298B08B651D08B8B497D16EBD8F6B /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = AAF3441A43AA58E58A7340FA1E66271B /* Segmentio.xcconfig */;
|
||||
buildSettings = {
|
||||
|
|
@ -665,126 +778,41 @@
|
|||
};
|
||||
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 */
|
||||
|
||||
/* 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" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
015A368F878AC3E2CEAE21DDE8026304 /* Debug */,
|
||||
44CDBB6D11DE06DB64D6268622BDC47E /* Release */,
|
||||
C104F7F091290C3D1E248192F07FE689 /* Debug */,
|
||||
34FE9531DA9AF2820790339988D5FF41 /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
785D3215E776BE829EB1D98F89F1A8C1 /* Build configuration list for PBXNativeTarget "Segmentio" */ = {
|
||||
A1D1618119E2E7C51F19EB05FDF5156C /* Build configuration list for PBXNativeTarget "Pods-Segmentio_Example" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
6939D89BCF3CB71D8A0CB554AEAC1779 /* Debug */,
|
||||
E8435E0DCC8F7A80386C452616DACB34 /* Release */,
|
||||
4E822D5795BA9E4178943FED4D9C6AF4 /* Debug */,
|
||||
0CAC0F262E7DD097927860FC763994DF /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
BD0B4F1676768CCD5A8C4B0E5B53427F /* Build configuration list for PBXNativeTarget "Segmentio-Segmentio" */ = {
|
||||
AEAE75D2FEC7B21249461B615D5A77D0 /* Build configuration list for PBXNativeTarget "Segmentio" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
A6D8F8AC9425BACBC3621CFD7597790C /* Debug */,
|
||||
B39C8A659F54F5D7007A70CE400454EA /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
CC37EAE0F58FC2B11F123B84FE6B0FAC /* Build configuration list for PBXNativeTarget "Pods-Segmentio_Example" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
BF58FEE71132386297AFD4D409190547 /* Debug */,
|
||||
69F41B3AE04E5DCE90065CD8E029712C /* Release */,
|
||||
7661A8E2CE1CB37964D0DB637C77E431 /* Debug */,
|
||||
B21E056A43A153E5C75A8623229ECF5D /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ This application makes use of the following third party libraries:
|
|||
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright © 2015 Yalantis
|
||||
Copyright © 2017 Yalantis
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
|
|
@ -24,4 +24,5 @@ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
|
||||
Generated by CocoaPods - https://cocoapods.org
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@
|
|||
<key>FooterText</key>
|
||||
<string>The MIT License (MIT)
|
||||
|
||||
Copyright © 2015 Yalantis
|
||||
Copyright © 2017 Yalantis
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
|
|
@ -34,7 +34,8 @@ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.</string>
|
||||
THE SOFTWARE.
|
||||
</string>
|
||||
<key>License</key>
|
||||
<string>MIT</string>
|
||||
<key>Title</key>
|
||||
|
|
|
|||
|
|
@ -59,8 +59,13 @@ code_sign_if_enabled() {
|
|||
if [ -n "${EXPANDED_CODE_SIGN_IDENTITY}" -a "${CODE_SIGNING_REQUIRED}" != "NO" -a "${CODE_SIGNING_ALLOWED}" != "NO" ]; then
|
||||
# Use the current code_sign_identitiy
|
||||
echo "Code Signing $1 with Identity ${EXPANDED_CODE_SIGN_IDENTITY_NAME}"
|
||||
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"
|
||||
local code_sign_cmd="/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
|
||||
}
|
||||
|
||||
|
|
@ -89,3 +94,6 @@ fi
|
|||
if [[ "$CONFIGURATION" == "Release" ]]; then
|
||||
install_framework "$BUILT_PRODUCTS_DIR/Segmentio/Segmentio.framework"
|
||||
fi
|
||||
if [ "${COCOAPODS_PARALLEL_CODE_SIGN}" == "true" ]; then
|
||||
wait
|
||||
fi
|
||||
|
|
|
|||
|
|
@ -18,17 +18,17 @@ case "${TARGETED_DEVICE_FAMILY}" in
|
|||
2)
|
||||
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"
|
||||
;;
|
||||
esac
|
||||
|
||||
realpath() {
|
||||
DIRECTORY="$(cd "${1%/*}" && pwd)"
|
||||
FILENAME="${1##*/}"
|
||||
echo "$DIRECTORY/$FILENAME"
|
||||
}
|
||||
|
||||
install_resource()
|
||||
{
|
||||
if [[ "$1" = /* ]] ; then
|
||||
|
|
@ -70,7 +70,7 @@ EOM
|
|||
xcrun mapc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcmappingmodel`.cdm"
|
||||
;;
|
||||
*.xcassets)
|
||||
ABSOLUTE_XCASSET_FILE=$(realpath "$RESOURCE_PATH")
|
||||
ABSOLUTE_XCASSET_FILE="$RESOURCE_PATH"
|
||||
XCASSET_FILES+=("$ABSOLUTE_XCASSET_FILE")
|
||||
;;
|
||||
*)
|
||||
|
|
@ -93,7 +93,7 @@ then
|
|||
# Find all other xcassets (this unfortunately includes those of path pods and other targets).
|
||||
OTHER_XCASSETS=$(find "$PWD" -iname "*.xcassets" -type d)
|
||||
while read line; do
|
||||
if [[ $line != "`realpath $PODS_ROOT`*" ]]; then
|
||||
if [[ $line != "${PODS_ROOT}*" ]]; then
|
||||
XCASSET_FILES+=("$line")
|
||||
fi
|
||||
done <<<"$OTHER_XCASSETS"
|
||||
|
|
|
|||
|
|
@ -1,4 +1,14 @@
|
|||
#ifdef __OBJC__
|
||||
#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;
|
||||
|
|
|
|||
|
|
@ -1,5 +1,4 @@
|
|||
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES
|
||||
EMBEDDED_CONTENT_CONTAINS_SWIFT = YES
|
||||
FRAMEWORK_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/Segmentio"
|
||||
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
|
||||
LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks'
|
||||
|
|
@ -8,4 +7,5 @@ OTHER_LDFLAGS = $(inherited) -framework "Segmentio"
|
|||
OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS"
|
||||
PODS_BUILD_DIR = $BUILD_DIR
|
||||
PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
|
||||
PODS_PODFILE_DIR_PATH = ${SRCROOT}/.
|
||||
PODS_ROOT = ${SRCROOT}/Pods
|
||||
|
|
|
|||
|
|
@ -1,5 +1,4 @@
|
|||
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES
|
||||
EMBEDDED_CONTENT_CONTAINS_SWIFT = YES
|
||||
FRAMEWORK_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/Segmentio"
|
||||
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
|
||||
LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks'
|
||||
|
|
@ -8,4 +7,5 @@ OTHER_LDFLAGS = $(inherited) -framework "Segmentio"
|
|||
OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS"
|
||||
PODS_BUILD_DIR = $BUILD_DIR
|
||||
PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
|
||||
PODS_PODFILE_DIR_PATH = ${SRCROOT}/.
|
||||
PODS_ROOT = ${SRCROOT}/Pods
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@
|
|||
<key>CFBundlePackageType</key>
|
||||
<string>FMWK</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>1.1.3</string>
|
||||
<string>2.1.2</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>????</string>
|
||||
<key>CFBundleVersion</key>
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@
|
|||
<key>CFBundlePackageType</key>
|
||||
<string>BNDL</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>1.1.3</string>
|
||||
<string>2.1.2</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>????</string>
|
||||
<key>CFBundleVersion</key>
|
||||
|
|
|
|||
|
|
@ -1,4 +1,12 @@
|
|||
#ifdef __OBJC__
|
||||
#import <UIKit/UIKit.h>
|
||||
#else
|
||||
#ifndef FOUNDATION_EXPORT
|
||||
#if defined(__cplusplus)
|
||||
#define FOUNDATION_EXPORT extern "C"
|
||||
#else
|
||||
#define FOUNDATION_EXPORT extern
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,14 @@
|
|||
#ifdef __OBJC__
|
||||
#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;
|
||||
|
|
|
|||
|
|
@ -5,5 +5,6 @@ OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS"
|
|||
PODS_BUILD_DIR = $BUILD_DIR
|
||||
PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
|
||||
PODS_ROOT = ${SRCROOT}
|
||||
PODS_TARGET_SRCROOT = ${PODS_ROOT}/../..
|
||||
PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
|
||||
SKIP_INSTALL = YES
|
||||
|
|
|
|||
|
|
@ -333,7 +333,7 @@
|
|||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
shellPath = /bin/sh;
|
||||
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";
|
||||
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";
|
||||
showEnvVarsInLog = 0;
|
||||
};
|
||||
/* End PBXShellScriptBuildPhase section */
|
||||
|
|
|
|||
|
|
@ -19,11 +19,11 @@ struct SegmentioBuilder {
|
|||
)
|
||||
}
|
||||
|
||||
static func buildSegmentioView(segmentioView: Segmentio, segmentioStyle: SegmentioStyle) {
|
||||
static func buildSegmentioView(segmentioView: Segmentio, segmentioStyle: SegmentioStyle, segmentioPosition: SegmentioPosition = .fixed(maxVisibleItems: 3)) {
|
||||
segmentioView.setup(
|
||||
content: segmentioContent(),
|
||||
style: segmentioStyle,
|
||||
options: segmentioOptions(segmentioStyle: segmentioStyle)
|
||||
options: segmentioOptions(segmentioStyle: segmentioStyle, segmentioPosition: segmentioPosition)
|
||||
)
|
||||
}
|
||||
|
||||
|
|
@ -38,7 +38,7 @@ struct SegmentioBuilder {
|
|||
]
|
||||
}
|
||||
|
||||
private static func segmentioOptions(segmentioStyle: SegmentioStyle) -> SegmentioOptions {
|
||||
private static func segmentioOptions(segmentioStyle: SegmentioStyle, segmentioPosition: SegmentioPosition = .fixed(maxVisibleItems: 3)) -> SegmentioOptions {
|
||||
var imageContentMode = UIViewContentMode.center
|
||||
switch segmentioStyle {
|
||||
case .imageBeforeLabel, .imageAfterLabel:
|
||||
|
|
@ -49,7 +49,7 @@ struct SegmentioBuilder {
|
|||
|
||||
return SegmentioOptions(
|
||||
backgroundColor: ColorPalette.white,
|
||||
maxVisibleItems: 3,
|
||||
segmentPosition: segmentioPosition,
|
||||
scrollEnabled: true,
|
||||
indicatorOptions: segmentioIndicatorOptions(),
|
||||
horizontalSeparatorOptions: segmentioHorizontalSeparatorOptions(),
|
||||
|
|
|
|||
|
|
@ -1,5 +1,15 @@
|
|||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "iphone",
|
||||
"size" : "20x20",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"idiom" : "iphone",
|
||||
"size" : "20x20",
|
||||
"scale" : "3x"
|
||||
},
|
||||
{
|
||||
"size" : "29x29",
|
||||
"idiom" : "iphone",
|
||||
|
|
@ -36,6 +46,16 @@
|
|||
"filename" : "Icon-60@3x.png",
|
||||
"scale" : "3x"
|
||||
},
|
||||
{
|
||||
"idiom" : "ipad",
|
||||
"size" : "20x20",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"idiom" : "ipad",
|
||||
"size" : "20x20",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"size" : "29x29",
|
||||
"idiom" : "ipad",
|
||||
|
|
|
|||
30
README.md
30
README.md
|
|
@ -1,4 +1,4 @@
|
|||
##Segmentio
|
||||
## Segmentio
|
||||
[](https://cocoapods.org/?q=segmentio) [](https://github.com/Yalantis/Segmentio/blob/master/LICENSE)  [](https://github.com/Carthage/Carthage)
|
||||
|
||||
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>.
|
||||
|
||||
##Requirements
|
||||
## Requirements
|
||||
|
||||
- Xcode 8
|
||||
- iOS 8.x+
|
||||
- Swift 3
|
||||
|
||||
##Installation
|
||||
## Installation
|
||||
|
||||
####[CocoaPods](http://cocoapods.org)
|
||||
#### [CocoaPods](http://cocoapods.org)
|
||||
```ruby
|
||||
use_frameworks!
|
||||
|
||||
|
|
@ -24,18 +24,18 @@ pod 'Segmentio', '~> 2.1'
|
|||
|
||||
*CocoaPods v1.1.0 or later required*
|
||||
|
||||
####[Carthage](http://github.com/Carthage/Carthage)
|
||||
#### [Carthage](http://github.com/Carthage/Carthage)
|
||||
```ruby
|
||||
github "Yalantis/Segmentio" ~> 2.1
|
||||
```
|
||||
|
||||
##Usage
|
||||
####Import `Segmentio` module
|
||||
## Usage
|
||||
#### Import `Segmentio` module
|
||||
```swift
|
||||
import Segmentio
|
||||
```
|
||||
|
||||
####Init
|
||||
#### Init
|
||||
You can initialize a `Segmentio` instance from code:
|
||||
|
||||
```swift
|
||||
|
|
@ -54,7 +54,7 @@ add a `UIView` instance in your .storyboard or .xib, set `Segmentio` class and c
|
|||
@IBOutlet weak var segmentioView: Segmentio!
|
||||
```
|
||||
|
||||
####Setup `Segmentio`
|
||||
#### Setup `Segmentio`
|
||||
```swift
|
||||
segmentioView.setup(
|
||||
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:
|
||||
|
||||
```swift
|
||||
|
|
@ -87,14 +87,14 @@ let tornadoItem = SegmentioItem(
|
|||
content.append(tornadoItem)
|
||||
```
|
||||
|
||||
####Handling selection
|
||||
#### Handling selection
|
||||
You can specify selected item manually:
|
||||
|
||||
```swift
|
||||
segmentioView.selectedSegmentioIndex = 0
|
||||
```
|
||||
|
||||
####Handling callback
|
||||
#### Handling callback
|
||||
|
||||
```swift
|
||||
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:
|
||||
|
||||
```swift
|
||||
|
|
@ -171,12 +171,12 @@ SegmentioStates(
|
|||
)
|
||||
```
|
||||
|
||||
####Let us know!
|
||||
#### Let us know!
|
||||
We’d 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. We’re 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)
|
||||
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@ import UIKit
|
|||
class SegmentioCell: UICollectionViewCell {
|
||||
|
||||
let padding: CGFloat = 8
|
||||
let segmentTitleLabelHeight: CGFloat = 22
|
||||
static let segmentTitleLabelHeight: CGFloat = 22
|
||||
|
||||
var verticalSeparatorView: UIView?
|
||||
var segmentTitleLabel: UILabel?
|
||||
|
|
@ -49,7 +49,7 @@ class SegmentioCell: UICollectionViewCell {
|
|||
segmentTitleLabel?.font = isHighlighted ? highlightedState.titleFont : highlightedTitleFont
|
||||
}
|
||||
|
||||
backgroundColor = isHighlighted ? highlightedState.backgroundColor : defaultState.backgroundColor
|
||||
backgroundColor = isHighlighted ? highlightedState.backgroundColor : .clear
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -130,7 +130,7 @@ class SegmentioCell: UICollectionViewCell {
|
|||
configurateBadgeWithCount(content.badgeCount, color: content.badgeColor)
|
||||
}
|
||||
|
||||
func configure(selected: Bool) {
|
||||
func configure(selected: Bool, selectedImage: UIImage? = nil, image: UIImage? = nil) {
|
||||
cellSelected = selected
|
||||
|
||||
let selectedState = options.states.selectedState
|
||||
|
|
@ -140,6 +140,10 @@ class SegmentioCell: UICollectionViewCell {
|
|||
segmentTitleLabel?.textColor = selected ? selectedState.titleTextColor : defaultState.titleTextColor
|
||||
segmentTitleLabel?.font = selected ? selectedState.titleFont : defaultState.titleFont
|
||||
}
|
||||
|
||||
if (style != .onlyLabel) {
|
||||
segmentImageView?.image = selected ? selectedImage : image
|
||||
}
|
||||
}
|
||||
|
||||
func configurateBadgeWithCount(_ badgeCount: Int?, color: UIColor?) {
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ final class SegmentioCellWithImageAfterLabel: SegmentioCell {
|
|||
return
|
||||
}
|
||||
|
||||
let metrics = ["labelHeight": segmentTitleLabelHeight]
|
||||
let metrics = ["labelHeight": SegmentioCell.segmentTitleLabelHeight]
|
||||
let views = [
|
||||
"imageContainerView": imageContainerView,
|
||||
"containerView": containerView
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ class SegmentioCellWithImageBeforeLabel: SegmentioCell {
|
|||
return
|
||||
}
|
||||
|
||||
let metrics = ["labelHeight": segmentTitleLabelHeight]
|
||||
let metrics = ["labelHeight": SegmentioCell.segmentTitleLabelHeight]
|
||||
let views = [
|
||||
"imageContainerView": imageContainerView,
|
||||
"containerView": containerView
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ class SegmentioCellWithImageOverLabel: SegmentioCell {
|
|||
return
|
||||
}
|
||||
|
||||
let metrics = ["labelHeight": segmentTitleLabelHeight]
|
||||
let metrics = ["labelHeight": SegmentioCell.segmentTitleLabelHeight]
|
||||
let views = [
|
||||
"imageContainerView": imageContainerView,
|
||||
"containerView": containerView
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ class SegmentioCellWithImageUnderLabel: SegmentioCell {
|
|||
return
|
||||
}
|
||||
|
||||
let metrics = ["labelHeight": segmentTitleLabelHeight]
|
||||
let metrics = ["labelHeight": SegmentioCell.segmentTitleLabelHeight]
|
||||
let views = [
|
||||
"imageContainerView": imageContainerView,
|
||||
"containerView": containerView
|
||||
|
|
|
|||
|
|
@ -49,6 +49,7 @@ open class Segmentio: UIView {
|
|||
fileprivate var segmentioOptions = SegmentioOptions()
|
||||
fileprivate var segmentioStyle = SegmentioStyle.imageOverLabel
|
||||
fileprivate var isPerformingScrollAnimation = false
|
||||
fileprivate var isCollectionViewScrolling = false
|
||||
|
||||
fileprivate var topSeparatorView: UIView?
|
||||
fileprivate var bottomSeparatorView: UIView?
|
||||
|
|
@ -96,6 +97,7 @@ open class Segmentio: UIView {
|
|||
collectionView.bounces = true
|
||||
collectionView.isScrollEnabled = segmentioOptions.scrollEnabled
|
||||
collectionView.backgroundColor = .clear
|
||||
collectionView.accessibilityIdentifier = "segmentio_collection_view"
|
||||
|
||||
segmentioCollectionView = collectionView
|
||||
|
||||
|
|
@ -112,6 +114,8 @@ open class Segmentio: UIView {
|
|||
let separatorHeight = horizontalSeparatorOptions.height
|
||||
|
||||
switch horizontalSeparatorOptions.type {
|
||||
case .none:
|
||||
separatorsHeight = 0
|
||||
case .top:
|
||||
collectionViewFrameMinY = separatorHeight
|
||||
separatorsHeight = separatorHeight
|
||||
|
|
@ -251,7 +255,7 @@ open class Segmentio: UIView {
|
|||
bottomSeparatorView = UIView(frame: CGRect.zero)
|
||||
setupConstraintsForSeparatorView(
|
||||
separatorView: bottomSeparatorView,
|
||||
originY: frame.maxY - height
|
||||
originY: bounds.maxY - height
|
||||
)
|
||||
}
|
||||
}
|
||||
|
|
@ -269,7 +273,7 @@ open class Segmentio: UIView {
|
|||
item: separatorView,
|
||||
attribute: .top,
|
||||
relatedBy: .equal,
|
||||
toItem: superview,
|
||||
toItem: self,
|
||||
attribute: .top,
|
||||
multiplier: 1,
|
||||
constant: originY
|
||||
|
|
@ -324,6 +328,7 @@ open class Segmentio: UIView {
|
|||
public func reloadSegmentio() {
|
||||
segmentioCollectionView?.collectionViewLayout.invalidateLayout()
|
||||
segmentioCollectionView?.reloadData()
|
||||
guard selectedSegmentioIndex != -1 else { return }
|
||||
scrollToItemAtContext()
|
||||
moveShapeLayerAtContext()
|
||||
}
|
||||
|
|
@ -335,11 +340,7 @@ open class Segmentio: UIView {
|
|||
let item = itemInSuperview(ratio: options.ratio)
|
||||
let context = contextForItem(item)
|
||||
|
||||
let points = Points(
|
||||
context: context,
|
||||
item: item,
|
||||
pointY: indicatorPointY()
|
||||
)
|
||||
let points = Points(context: context, item: item, atIndex: selectedSegmentioIndex, allItems: segmentioItems, pointY: indicatorPointY(), position: segmentioOptions.segmentPosition, style: segmentioStyle)
|
||||
|
||||
moveShapeLayer(
|
||||
indicatorLayer,
|
||||
|
|
@ -353,11 +354,7 @@ open class Segmentio: UIView {
|
|||
let item = itemInSuperview()
|
||||
let context = contextForItem(item)
|
||||
|
||||
let points = Points(
|
||||
context: context,
|
||||
item: item,
|
||||
pointY: bounds.midY
|
||||
)
|
||||
let points = Points(context: context, item: item, atIndex: selectedSegmentioIndex, allItems: segmentioItems, pointY: bounds.midY, position: segmentioOptions.segmentPosition, style: segmentioStyle)
|
||||
|
||||
moveShapeLayer(
|
||||
selectedLayer,
|
||||
|
|
@ -375,29 +372,29 @@ open class Segmentio: UIView {
|
|||
return
|
||||
}
|
||||
|
||||
guard selectedSegmentioIndex != -1 else { return }
|
||||
|
||||
let item = itemInSuperview()
|
||||
let context = contextForItem(item)
|
||||
|
||||
if context.isLastOrPrelastVisibleCell == true {
|
||||
let newIndex = selectedSegmentioIndex + (context.isLastCell ? 0 : 1)
|
||||
let newIndexPath = IndexPath(item: newIndex, section: numberOfSections - 1)
|
||||
segmentioCollectionView?.scrollToItem(
|
||||
at: newIndexPath,
|
||||
at: UICollectionViewScrollPosition(),
|
||||
animated: true
|
||||
)
|
||||
}
|
||||
segmentioCollectionView?.scrollRectToVisible(centerRect(for: item), animated: true)
|
||||
}
|
||||
|
||||
if context.isFirstOrSecondVisibleCell == true && selectedSegmentioIndex != -1 {
|
||||
let newIndex = selectedSegmentioIndex - (context.isFirstIndex ? 1 : 0)
|
||||
let newIndexPath = IndexPath(item: newIndex, section: numberOfSections - 1)
|
||||
|
||||
segmentioCollectionView?.scrollToItem(
|
||||
at: newIndexPath,
|
||||
at: UICollectionViewScrollPosition(),
|
||||
animated: true
|
||||
)
|
||||
fileprivate func centerRect(for item: ItemInSuperview) -> CGRect {
|
||||
let item = itemInSuperview()
|
||||
var centerRect = item.cellFrameInSuperview
|
||||
if (item.startX + segmentioCollectionView!.contentOffset.x) - (item.collectionViewWidth - centerRect.width) / 2 < 0 {
|
||||
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 {
|
||||
centerRect.origin.x = segmentioCollectionView!.contentSize.width - item.collectionViewWidth
|
||||
centerRect.size.width = item.collectionViewWidth
|
||||
} else {
|
||||
centerRect.origin.x = item.startX - (item.collectionViewWidth - centerRect.width) / 2 + segmentioCollectionView!.contentOffset.x
|
||||
centerRect.size.width = item.collectionViewWidth
|
||||
}
|
||||
return centerRect
|
||||
}
|
||||
|
||||
// MARK: Move shape layer
|
||||
|
|
@ -463,15 +460,26 @@ open class Segmentio: UIView {
|
|||
var cellRect = CGRect.zero
|
||||
var shapeLayerWidth: CGFloat = 0
|
||||
|
||||
if let collectionView = segmentioCollectionView {
|
||||
if let collectionView = segmentioCollectionView, selectedSegmentioIndex != -1 {
|
||||
collectionViewWidth = collectionView.frame.width
|
||||
let maxVisibleItems = segmentioOptions.maxVisibleItems > segmentioItems.count ? CGFloat(segmentioItems.count) : CGFloat(segmentioOptions.maxVisibleItems)
|
||||
cellWidth = floor(collectionViewWidth / maxVisibleItems)
|
||||
|
||||
cellWidth = segmentWidth(for: IndexPath(row: selectedSegmentioIndex, section: 0))
|
||||
var x: CGFloat = 0
|
||||
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(
|
||||
x: floor(CGFloat(selectedSegmentioIndex) * cellWidth - collectionView.contentOffset.x),
|
||||
x: x,
|
||||
y: 0,
|
||||
width: floor(collectionViewWidth / maxVisibleItems),
|
||||
width: cellWidth,
|
||||
height: collectionView.frame.height
|
||||
)
|
||||
|
||||
|
|
@ -487,6 +495,46 @@ open class Segmentio: UIView {
|
|||
)
|
||||
}
|
||||
|
||||
// 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
|
||||
|
||||
fileprivate func indicatorPointY() -> CGFloat {
|
||||
|
|
@ -511,6 +559,8 @@ open class Segmentio: UIView {
|
|||
let isIndicatorTop = indicatorOptions.type == .top
|
||||
|
||||
switch horizontalSeparatorOptions.type {
|
||||
case .none:
|
||||
break
|
||||
case .top:
|
||||
indicatorPointY = isIndicatorTop ? indicatorPointY + separatorHeight : indicatorPointY
|
||||
case .bottom:
|
||||
|
|
@ -527,6 +577,10 @@ open class Segmentio: UIView {
|
|||
|
||||
extension Segmentio: UICollectionViewDataSource {
|
||||
|
||||
public func numberOfSections(in collectionView: UICollectionView) -> Int {
|
||||
return 1
|
||||
}
|
||||
|
||||
public func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
|
||||
return segmentioItems.count
|
||||
}
|
||||
|
|
@ -536,14 +590,20 @@ extension Segmentio: UICollectionViewDataSource {
|
|||
withReuseIdentifier: segmentioStyle.rawValue,
|
||||
for: indexPath) as! SegmentioCell
|
||||
|
||||
let content = segmentioItems[indexPath.row]
|
||||
|
||||
cell.configure(
|
||||
content: segmentioItems[indexPath.row],
|
||||
content: content,
|
||||
style: segmentioStyle,
|
||||
options: segmentioOptions,
|
||||
isLastCell: indexPath.row == segmentioItems.count - 1
|
||||
)
|
||||
|
||||
cell.configure(selected: (indexPath.row == selectedSegmentioIndex))
|
||||
cell.configure(
|
||||
selected: (indexPath.row == selectedSegmentioIndex),
|
||||
selectedImage: content.selectedImage,
|
||||
image: content.image
|
||||
)
|
||||
|
||||
return cell
|
||||
}
|
||||
|
|
@ -569,8 +629,7 @@ extension Segmentio: UICollectionViewDelegate {
|
|||
extension Segmentio: UICollectionViewDelegateFlowLayout {
|
||||
|
||||
public func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
|
||||
let maxVisibleItems = segmentioOptions.maxVisibleItems > segmentioItems.count ? CGFloat(segmentioItems.count) : CGFloat(segmentioOptions.maxVisibleItems)
|
||||
return CGSize( width: floor(collectionView.frame.width / maxVisibleItems), height: collectionView.frame.height)
|
||||
return CGSize(width: segmentWidth(for: indexPath), height: collectionView.frame.height)
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -605,40 +664,79 @@ extension Segmentio: UIScrollViewDelegate {
|
|||
}
|
||||
}
|
||||
|
||||
public func scrollViewDidEndDecelerating(_ scrollView: UIScrollView) {
|
||||
isCollectionViewScrolling = false
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
extension Segmentio.Points {
|
||||
|
||||
init(context: Segmentio.Context, item: Segmentio.ItemInSuperview, pointY: CGFloat) {
|
||||
init(context: Segmentio.Context, item: Segmentio.ItemInSuperview, atIndex index: Int, allItems: [SegmentioItem], pointY: CGFloat, position: SegmentioPosition, style: SegmentioStyle) {
|
||||
let cellWidth = item.cellFrameInSuperview.width
|
||||
|
||||
var startX = item.startX
|
||||
var endX = item.endX
|
||||
|
||||
if context.isFirstCell == false && context.isLastCell == false {
|
||||
if context.isLastOrPrelastVisibleCell == true {
|
||||
let updatedStartX = item.collectionViewWidth - (cellWidth * 2) + ((cellWidth - item.shapeLayerWidth) / 2)
|
||||
startX = updatedStartX
|
||||
let updatedEndX = updatedStartX + item.shapeLayerWidth
|
||||
endX = updatedEndX
|
||||
switch position {
|
||||
case .fixed(_):
|
||||
if context.isFirstCell == false && context.isLastCell == false {
|
||||
if context.isLastOrPrelastVisibleCell == true {
|
||||
let updatedStartX = item.collectionViewWidth - (cellWidth * 2) + ((cellWidth - item.shapeLayerWidth) / 2)
|
||||
startX = updatedStartX
|
||||
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
|
||||
}
|
||||
}
|
||||
|
||||
if context.isFirstOrSecondVisibleCell == true {
|
||||
let updatedEndX = (cellWidth * 2) - ((cellWidth - item.shapeLayerWidth) / 2)
|
||||
endX = updatedEndX
|
||||
let updatedStartX = updatedEndX - item.shapeLayerWidth
|
||||
startX = updatedStartX
|
||||
case .dynamic:
|
||||
// If the collection content view is not completely visible...
|
||||
// We have to calculate the final position of the item
|
||||
var dynamicWidth: CGFloat = 0
|
||||
for item in allItems {
|
||||
dynamicWidth += Segmentio.intrinsicWidth(for: item, style: style)
|
||||
}
|
||||
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)
|
||||
|
|
|
|||
|
|
@ -14,12 +14,20 @@ public struct SegmentioItem {
|
|||
|
||||
public var title: String?
|
||||
public var image: UIImage?
|
||||
public var selectedImage: UIImage?
|
||||
public var badgeCount: Int?
|
||||
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?) {
|
||||
public init(title: String?, image: UIImage?, selectedImage: UIImage? = nil) {
|
||||
self.title = title
|
||||
self.image = image
|
||||
self.selectedImage = selectedImage ?? image
|
||||
}
|
||||
|
||||
public mutating func addBadge(_ count: Int, color: UIColor) {
|
||||
|
|
@ -56,7 +64,7 @@ public struct SegmentioState {
|
|||
// MARK: - Horizontal separator
|
||||
|
||||
public enum SegmentioHorizontalSeparatorType {
|
||||
|
||||
case none
|
||||
case top
|
||||
case bottom
|
||||
case topAndBottom
|
||||
|
|
@ -116,6 +124,13 @@ public struct SegmentioIndicatorOptions {
|
|||
|
||||
}
|
||||
|
||||
// MARK: - Position
|
||||
|
||||
public enum SegmentioPosition {
|
||||
case dynamic
|
||||
case fixed(maxVisibleItems: Int)
|
||||
}
|
||||
|
||||
// MARK: - Control options
|
||||
|
||||
public enum SegmentioStyle: String {
|
||||
|
|
@ -148,6 +163,16 @@ public enum SegmentioStyle: String {
|
|||
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)
|
||||
|
|
@ -155,7 +180,7 @@ public typealias SegmentioStates = (defaultState: SegmentioState, selectedState:
|
|||
public struct SegmentioOptions {
|
||||
|
||||
var backgroundColor: UIColor
|
||||
var maxVisibleItems: Int
|
||||
var segmentPosition: SegmentioPosition
|
||||
var scrollEnabled: Bool
|
||||
var horizontalSeparatorOptions: SegmentioHorizontalSeparatorOptions?
|
||||
var verticalSeparatorOptions: SegmentioVerticalSeparatorOptions?
|
||||
|
|
@ -168,7 +193,7 @@ public struct SegmentioOptions {
|
|||
|
||||
public init() {
|
||||
self.backgroundColor = .lightGray
|
||||
self.maxVisibleItems = 4
|
||||
self.segmentPosition = .fixed(maxVisibleItems: 4)
|
||||
self.scrollEnabled = true
|
||||
|
||||
self.horizontalSeparatorOptions = SegmentioHorizontalSeparatorOptions()
|
||||
|
|
@ -188,9 +213,9 @@ public struct SegmentioOptions {
|
|||
self.animationDuration = 0.1
|
||||
}
|
||||
|
||||
public init(backgroundColor: UIColor, maxVisibleItems: Int, scrollEnabled: Bool, indicatorOptions: SegmentioIndicatorOptions?, horizontalSeparatorOptions: SegmentioHorizontalSeparatorOptions?, verticalSeparatorOptions: SegmentioVerticalSeparatorOptions?, imageContentMode: UIViewContentMode, labelTextAlignment: NSTextAlignment, labelTextNumberOfLines: Int, segmentStates: SegmentioStates, animationDuration: CFTimeInterval) {
|
||||
public init(backgroundColor: UIColor, segmentPosition: SegmentioPosition, scrollEnabled: Bool, indicatorOptions: SegmentioIndicatorOptions?, horizontalSeparatorOptions: SegmentioHorizontalSeparatorOptions?, verticalSeparatorOptions: SegmentioVerticalSeparatorOptions?, imageContentMode: UIViewContentMode, labelTextAlignment: NSTextAlignment, labelTextNumberOfLines: Int, segmentStates: SegmentioStates, animationDuration: CFTimeInterval) {
|
||||
self.backgroundColor = backgroundColor
|
||||
self.maxVisibleItems = maxVisibleItems
|
||||
self.segmentPosition = segmentPosition
|
||||
self.scrollEnabled = scrollEnabled
|
||||
self.indicatorOptions = indicatorOptions
|
||||
self.horizontalSeparatorOptions = horizontalSeparatorOptions
|
||||
|
|
|
|||
Loading…
Reference in New Issue