From fb1a5b2a1f2e148a0055cd16df657f9c0bd624ec Mon Sep 17 00:00:00 2001 From: Kaan Dedeoglu Date: Wed, 16 Sep 2015 15:10:46 +0300 Subject: [PATCH 01/28] Deep copy attributes - should fix #97 Perform a deep copy of the UICollectionViewLayoutAttributes Array returned from super. --- Classes/CSStickyHeaderFlowLayout.m | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/Classes/CSStickyHeaderFlowLayout.m b/Classes/CSStickyHeaderFlowLayout.m index 053b059..ddd223f 100644 --- a/Classes/CSStickyHeaderFlowLayout.m +++ b/Classes/CSStickyHeaderFlowLayout.m @@ -72,8 +72,13 @@ - (NSArray *)layoutAttributesForElementsInRect:(CGRect)rect CGRect adjustedRect = rect; adjustedRect.origin.y -= self.parallaxHeaderReferenceSize.height; - NSMutableArray *allItems = [[super layoutAttributesForElementsInRect:adjustedRect] mutableCopy]; - + NSMutableArray *allItems = [NSMutableArray array]; + NSArray *originalAttributes = [super layoutAttributesForElementsInRect:adjustedRect]; + //Perform a deep copy of the attributes returned from super + for (UICollectionViewLayoutAttributes *originalAttribute in originalAttributes) { + [allItems addObject:[originalAttribute copy]]; + } + NSMutableDictionary *headers = [[NSMutableDictionary alloc] init]; NSMutableDictionary *lastCells = [[NSMutableDictionary alloc] init]; __block BOOL visibleParallexHeader; From ae727c6e32d99f13b06d5f153704371c09ea922a Mon Sep 17 00:00:00 2001 From: Jianing93 Date: Thu, 24 Sep 2015 21:20:28 +0800 Subject: [PATCH 02/28] Update CSStickyHeaderFlowLayout.m Fixing warning: subclass is modifying attributes returned by UICollectionViewFlowLayout without copying them --- Classes/CSStickyHeaderFlowLayout.m | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Classes/CSStickyHeaderFlowLayout.m b/Classes/CSStickyHeaderFlowLayout.m index ddd223f..7cbf790 100644 --- a/Classes/CSStickyHeaderFlowLayout.m +++ b/Classes/CSStickyHeaderFlowLayout.m @@ -173,7 +173,7 @@ - (NSArray *)layoutAttributesForElementsInRect:(CGRect)rect } - (UICollectionViewLayoutAttributes *)layoutAttributesForItemAtIndexPath:(NSIndexPath *)indexPath { - UICollectionViewLayoutAttributes *attributes = [super layoutAttributesForItemAtIndexPath:indexPath]; + UICollectionViewLayoutAttributes *attributes = [super layoutAttributesForItemAtIndexPath:indexPath].copy; CGRect frame = attributes.frame; frame.origin.y += self.parallaxHeaderReferenceSize.height; attributes.frame = frame; From 83d21946ffc84ca954710276c66a9acadbb81223 Mon Sep 17 00:00:00 2001 From: Michal Stawarz Date: Mon, 28 Sep 2015 14:35:53 +0200 Subject: [PATCH 03/28] This commit will fix the following crash: * Assertion failure in -[UICollectionView _createPreparedSupplementaryViewForElementOfKind:atIndexPath:withLayoutAttributes:applyAttributes:], /BuildRoot/Library/Caches/com.apple.xbs/Sources/UIKit/UIKit-3505.16/UICollectionView.m:1519 * --- Classes/CSStickyHeaderFlowLayout.m | 193 +++++++++++++++-------------- 1 file changed, 99 insertions(+), 94 deletions(-) diff --git a/Classes/CSStickyHeaderFlowLayout.m b/Classes/CSStickyHeaderFlowLayout.m index ddd223f..bda90a7 100644 --- a/Classes/CSStickyHeaderFlowLayout.m +++ b/Classes/CSStickyHeaderFlowLayout.m @@ -68,108 +68,113 @@ - (UICollectionViewLayoutAttributes *)layoutAttributesForSupplementaryViewOfKind - (NSArray *)layoutAttributesForElementsInRect:(CGRect)rect { - // The rect should compensate the header size - CGRect adjustedRect = rect; - adjustedRect.origin.y -= self.parallaxHeaderReferenceSize.height; - - NSMutableArray *allItems = [NSMutableArray array]; - NSArray *originalAttributes = [super layoutAttributesForElementsInRect:adjustedRect]; - //Perform a deep copy of the attributes returned from super - for (UICollectionViewLayoutAttributes *originalAttribute in originalAttributes) { - [allItems addObject:[originalAttribute copy]]; - } - NSMutableDictionary *headers = [[NSMutableDictionary alloc] init]; - NSMutableDictionary *lastCells = [[NSMutableDictionary alloc] init]; - __block BOOL visibleParallexHeader; - - [allItems enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) { - UICollectionViewLayoutAttributes *attributes = obj; - - CGRect frame = attributes.frame; - frame.origin.y += self.parallaxHeaderReferenceSize.height; - attributes.frame = frame; - - NSIndexPath *indexPath = [(UICollectionViewLayoutAttributes *)obj indexPath]; - BOOL isHeader = [[obj representedElementKind] isEqualToString:UICollectionElementKindSectionHeader]; - BOOL isFooter = [[obj representedElementKind] isEqualToString:UICollectionElementKindSectionFooter]; - - if (isHeader) { - [headers setObject:obj forKey:@(indexPath.section)]; - } else if (isFooter) { - // Not implemeneted - } else { - UICollectionViewLayoutAttributes *currentAttribute = [lastCells objectForKey:@(indexPath.section)]; - - // Get the bottom most cell of that section - if ( ! currentAttribute || indexPath.row > currentAttribute.indexPath.row) { - [lastCells setObject:obj forKey:@(indexPath.section)]; + if (self.collectionView.dataSource != nil) { + // The rect should compensate the header size + CGRect adjustedRect = rect; + adjustedRect.origin.y -= self.parallaxHeaderReferenceSize.height; + + NSMutableArray *allItems = [NSMutableArray array]; + NSArray *originalAttributes = [super layoutAttributesForElementsInRect:adjustedRect]; + //Perform a deep copy of the attributes returned from super + for (UICollectionViewLayoutAttributes *originalAttribute in originalAttributes) { + [allItems addObject:[originalAttribute copy]]; + } + + NSMutableDictionary *headers = [[NSMutableDictionary alloc] init]; + NSMutableDictionary *lastCells = [[NSMutableDictionary alloc] init]; + __block BOOL visibleParallexHeader; + + [allItems enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) { + UICollectionViewLayoutAttributes *attributes = obj; + + CGRect frame = attributes.frame; + frame.origin.y += self.parallaxHeaderReferenceSize.height; + attributes.frame = frame; + + NSIndexPath *indexPath = [(UICollectionViewLayoutAttributes *)obj indexPath]; + BOOL isHeader = [[obj representedElementKind] isEqualToString:UICollectionElementKindSectionHeader]; + BOOL isFooter = [[obj representedElementKind] isEqualToString:UICollectionElementKindSectionFooter]; + + if (isHeader) { + [headers setObject:obj forKey:@(indexPath.section)]; + } else if (isFooter) { + // Not implemeneted + } else { + UICollectionViewLayoutAttributes *currentAttribute = [lastCells objectForKey:@(indexPath.section)]; + + // Get the bottom most cell of that section + if ( ! currentAttribute || indexPath.row > currentAttribute.indexPath.row) { + [lastCells setObject:obj forKey:@(indexPath.section)]; + } + + if ([indexPath item] == 0 && [indexPath section] == 0) { + visibleParallexHeader = YES; + } } - - if ([indexPath item] == 0 && [indexPath section] == 0) { - visibleParallexHeader = YES; + + if (isHeader) { + attributes.zIndex = kHeaderZIndex; + } else { + // For iOS 7.0, the cell zIndex should be above sticky section header + attributes.zIndex = 1; } + }]; + + // when the visible rect is at top of the screen, make sure we see + // the parallex header + if (CGRectGetMinY(rect) <= 0) { + visibleParallexHeader = YES; } - - if (isHeader) { - attributes.zIndex = kHeaderZIndex; - } else { - // For iOS 7.0, the cell zIndex should be above sticky section header - attributes.zIndex = 1; + + if (self.parallaxHeaderAlwaysOnTop == YES) { + visibleParallexHeader = YES; } - }]; - - // when the visible rect is at top of the screen, make sure we see - // the parallex header - if (CGRectGetMinY(rect) <= 0) { - visibleParallexHeader = YES; - } - - if (self.parallaxHeaderAlwaysOnTop == YES) { - visibleParallexHeader = YES; - } - - - // This method may not be explicitly defined, default to 1 - // https://developer.apple.com/library/ios/documentation/uikit/reference/UICollectionViewDataSource_protocol/Reference/Reference.html#jumpTo_6 -// NSUInteger numberOfSections = [self.collectionView.dataSource -// respondsToSelector:@selector(numberOfSectionsInCollectionView:)] -// ? [self.collectionView.dataSource numberOfSectionsInCollectionView:self.collectionView] -// : 1; - - // Create the attributes for the Parallex header - if (visibleParallexHeader && ! CGSizeEqualToSize(CGSizeZero, self.parallaxHeaderReferenceSize)) { - CSStickyHeaderFlowLayoutAttributes *currentAttribute = [CSStickyHeaderFlowLayoutAttributes layoutAttributesForSupplementaryViewOfKind:CSStickyHeaderParallaxHeader withIndexPath:[NSIndexPath indexPathWithIndex:0]]; - [self updateParallaxHeaderAttribute:currentAttribute]; - - [allItems addObject:currentAttribute]; - } - - if ( ! self.disableStickyHeaders) { - [lastCells enumerateKeysAndObjectsUsingBlock:^(id key, id obj, BOOL *stop) { - NSIndexPath *indexPath = [obj indexPath]; - NSNumber *indexPathKey = @(indexPath.section); - - UICollectionViewLayoutAttributes *header = headers[indexPathKey]; - // CollectionView automatically removes headers not in bounds - if ( ! header) { - header = [self layoutAttributesForSupplementaryViewOfKind:UICollectionElementKindSectionHeader - atIndexPath:[NSIndexPath indexPathForItem:0 inSection:indexPath.section]]; - + + + // This method may not be explicitly defined, default to 1 + // https://developer.apple.com/library/ios/documentation/uikit/reference/UICollectionViewDataSource_protocol/Reference/Reference.html#jumpTo_6 + // NSUInteger numberOfSections = [self.collectionView.dataSource + // respondsToSelector:@selector(numberOfSectionsInCollectionView:)] + // ? [self.collectionView.dataSource numberOfSectionsInCollectionView:self.collectionView] + // : 1; + + // Create the attributes for the Parallex header + if (visibleParallexHeader && ! CGSizeEqualToSize(CGSizeZero, self.parallaxHeaderReferenceSize)) { + CSStickyHeaderFlowLayoutAttributes *currentAttribute = [CSStickyHeaderFlowLayoutAttributes layoutAttributesForSupplementaryViewOfKind:CSStickyHeaderParallaxHeader withIndexPath:[NSIndexPath indexPathWithIndex:0]]; + [self updateParallaxHeaderAttribute:currentAttribute]; + + [allItems addObject:currentAttribute]; + } + + if ( ! self.disableStickyHeaders) { + [lastCells enumerateKeysAndObjectsUsingBlock:^(id key, id obj, BOOL *stop) { + NSIndexPath *indexPath = [obj indexPath]; + NSNumber *indexPathKey = @(indexPath.section); + + UICollectionViewLayoutAttributes *header = headers[indexPathKey]; + // CollectionView automatically removes headers not in bounds + if ( ! header) { + header = [self layoutAttributesForSupplementaryViewOfKind:UICollectionElementKindSectionHeader + atIndexPath:[NSIndexPath indexPathForItem:0 inSection:indexPath.section]]; + + if (!CGSizeEqualToSize(CGSizeZero, header.frame.size)) { + [allItems addObject:header]; + } + } if (!CGSizeEqualToSize(CGSizeZero, header.frame.size)) { - [allItems addObject:header]; + [self updateHeaderAttributes:header lastCellAttributes:lastCells[indexPathKey]]; } - } - if (!CGSizeEqualToSize(CGSizeZero, header.frame.size)) { - [self updateHeaderAttributes:header lastCellAttributes:lastCells[indexPathKey]]; - } - }]; + }]; + } + + // For debugging purpose + // [self debugLayoutAttributes:allItems]; + + return allItems; + } else { + return nil; } - - // For debugging purpose -// [self debugLayoutAttributes:allItems]; - - return allItems; } - (UICollectionViewLayoutAttributes *)layoutAttributesForItemAtIndexPath:(NSIndexPath *)indexPath { From abead6599bcc6d5173db4e8abac5ec2b336bbd8a Mon Sep 17 00:00:00 2001 From: James Tang Date: Fri, 2 Oct 2015 17:33:02 +0800 Subject: [PATCH 04/28] Update to 0.2.10 --- CSStickyHeaderFlowLayout.podspec | 2 +- README.md | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/CSStickyHeaderFlowLayout.podspec b/CSStickyHeaderFlowLayout.podspec index 73a6e5b..b0f4e50 100644 --- a/CSStickyHeaderFlowLayout.podspec +++ b/CSStickyHeaderFlowLayout.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = "CSStickyHeaderFlowLayout" - s.version = "0.2.9" + s.version = "0.2.10" s.summary = "Parallax and Sticky header done right using UICollectionViewLayout" s.description = <<-DESC UICollectionView are flexible and you can use supplementary views to diff --git a/README.md b/README.md index 911ebe7..46be8e3 100644 --- a/README.md +++ b/README.md @@ -125,6 +125,8 @@ If you think this worths something, tip me a cup of coffee! (p.s. was trying out ## Updates +- 0.2.10: Fixed issue because attributes were not copied and datasource might have been niled + - 0.2.9: Remove Supplementry Header Layout Attribute to prevent crash when returning nil and while is CGSizeZero - 0.2.8: Fixed a visual issue when animating contentInsets #85 and crash when dragging cells #69 From 96546d6660f5db5a09f3c3008dba2cf2f4f70cd3 Mon Sep 17 00:00:00 2001 From: James Tang Date: Fri, 2 Oct 2015 17:33:34 +0800 Subject: [PATCH 05/28] Update Podfile.lock to 0.2.10 --- Project/Podfile.lock | 6 +- .../CSStickyHeaderFlowLayout.podspec.json | 6 +- Project/Pods/Manifest.lock | 6 +- Project/Pods/Pods.xcodeproj/project.pbxproj | 357 +++++++++--------- .../CSStickyHeaderFlowLayout.xcscheme | 62 +++ ...CSStickyHeaderFlowLayout-Private.xcconfig} | 3 +- .../CSStickyHeaderFlowLayout-dummy.m | 5 + .../CSStickyHeaderFlowLayout-prefix.pch} | 1 - .../CSStickyHeaderFlowLayout.xcconfig} | 0 .../Pods-CSStickyHeaderFlowLayout-dummy.m | 5 - .../Pods/Pods-environment.h | 14 - .../Pods/Pods-resources.sh | 6 +- .../Pods/Pods.debug.xcconfig | 3 +- .../Pods/Pods.release.xcconfig | 3 +- 14 files changed, 261 insertions(+), 216 deletions(-) create mode 100644 Project/Pods/Pods.xcodeproj/xcshareddata/xcschemes/CSStickyHeaderFlowLayout.xcscheme rename Project/Pods/Target Support Files/{Pods-CSStickyHeaderFlowLayout/Pods-CSStickyHeaderFlowLayout-Private.xcconfig => CSStickyHeaderFlowLayout/CSStickyHeaderFlowLayout-Private.xcconfig} (80%) create mode 100644 Project/Pods/Target Support Files/CSStickyHeaderFlowLayout/CSStickyHeaderFlowLayout-dummy.m rename Project/Pods/Target Support Files/{Pods-CSStickyHeaderFlowLayout/Pods-CSStickyHeaderFlowLayout-prefix.pch => CSStickyHeaderFlowLayout/CSStickyHeaderFlowLayout-prefix.pch} (62%) rename Project/Pods/Target Support Files/{Pods-CSStickyHeaderFlowLayout/Pods-CSStickyHeaderFlowLayout.xcconfig => CSStickyHeaderFlowLayout/CSStickyHeaderFlowLayout.xcconfig} (100%) delete mode 100644 Project/Pods/Target Support Files/Pods-CSStickyHeaderFlowLayout/Pods-CSStickyHeaderFlowLayout-dummy.m delete mode 100644 Project/Pods/Target Support Files/Pods/Pods-environment.h diff --git a/Project/Podfile.lock b/Project/Podfile.lock index 27f6c38..e838b82 100644 --- a/Project/Podfile.lock +++ b/Project/Podfile.lock @@ -1,5 +1,5 @@ PODS: - - CSStickyHeaderFlowLayout (0.2.9) + - CSStickyHeaderFlowLayout (0.2.10) DEPENDENCIES: - CSStickyHeaderFlowLayout (from `../`) @@ -9,6 +9,6 @@ EXTERNAL SOURCES: :path: "../" SPEC CHECKSUMS: - CSStickyHeaderFlowLayout: ece83dad3a1528af8b5a25bda3aa12536624ac65 + CSStickyHeaderFlowLayout: 5366582779d8b7c9ba9b9cc729c218cc23888776 -COCOAPODS: 0.37.2 +COCOAPODS: 0.38.2 diff --git a/Project/Pods/Local Podspecs/CSStickyHeaderFlowLayout.podspec.json b/Project/Pods/Local Podspecs/CSStickyHeaderFlowLayout.podspec.json index 8872534..3f9d251 100644 --- a/Project/Pods/Local Podspecs/CSStickyHeaderFlowLayout.podspec.json +++ b/Project/Pods/Local Podspecs/CSStickyHeaderFlowLayout.podspec.json @@ -1,8 +1,8 @@ { "name": "CSStickyHeaderFlowLayout", - "version": "0.2.9", + "version": "0.2.10", "summary": "Parallax and Sticky header done right using UICollectionViewLayout", - "description": " UICollectionView are flexible and you can use supplementary views to\n anything you wanted.\n", + "description": "UICollectionView are flexible and you can use supplementary views to\nanything you wanted.", "homepage": "http://github.com/jamztang/CSStickyHeaderFlowLayout", "screenshots": "https://d262ilb51hltx0.cloudfront.net/max/800/1*pev9ZXJAZ2MYoF8-R_nbRA.gif", "license": "MIT", @@ -11,7 +11,7 @@ }, "source": { "git": "https://github.com/jamztang/CSStickyHeaderFlowLayout.git", - "tag": "0.2.9" + "tag": "0.2.10" }, "platforms": { "ios": "7.0" diff --git a/Project/Pods/Manifest.lock b/Project/Pods/Manifest.lock index 27f6c38..e838b82 100644 --- a/Project/Pods/Manifest.lock +++ b/Project/Pods/Manifest.lock @@ -1,5 +1,5 @@ PODS: - - CSStickyHeaderFlowLayout (0.2.9) + - CSStickyHeaderFlowLayout (0.2.10) DEPENDENCIES: - CSStickyHeaderFlowLayout (from `../`) @@ -9,6 +9,6 @@ EXTERNAL SOURCES: :path: "../" SPEC CHECKSUMS: - CSStickyHeaderFlowLayout: ece83dad3a1528af8b5a25bda3aa12536624ac65 + CSStickyHeaderFlowLayout: 5366582779d8b7c9ba9b9cc729c218cc23888776 -COCOAPODS: 0.37.2 +COCOAPODS: 0.38.2 diff --git a/Project/Pods/Pods.xcodeproj/project.pbxproj b/Project/Pods/Pods.xcodeproj/project.pbxproj index 31d531a..e44e841 100644 --- a/Project/Pods/Pods.xcodeproj/project.pbxproj +++ b/Project/Pods/Pods.xcodeproj/project.pbxproj @@ -7,291 +7,274 @@ objects = { /* Begin PBXBuildFile section */ - 15F50C1AEAD366DA99E006AB /* CSStickyHeaderFlowLayout.h in Headers */ = {isa = PBXBuildFile; fileRef = A2321EAF33F530944DA10434 /* CSStickyHeaderFlowLayout.h */; }; - 3713F8BE2D3BB55E7F2AB807 /* CSStickyHeaderFlowLayoutAttributes.h in Headers */ = {isa = PBXBuildFile; fileRef = CE9D4A0C95ADCBB364780848 /* CSStickyHeaderFlowLayoutAttributes.h */; }; - 5C786D26BE2AB83BE589AC35 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 586372366E976725771A83F4 /* Foundation.framework */; }; - 5DFF4F027FFEF69181B4572E /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 586372366E976725771A83F4 /* Foundation.framework */; }; - CD888DCE6AF473CEEFEB0B6E /* CSStickyHeaderFlowLayoutAttributes.m in Sources */ = {isa = PBXBuildFile; fileRef = A96FC8EA31B01494ECA3DF13 /* CSStickyHeaderFlowLayoutAttributes.m */; }; - CFB41318AA5F85B78C860524 /* Pods-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 91B25B13B4D7B50BF1235199 /* Pods-dummy.m */; }; - D1B104290BCACA8932C06AA2 /* Pods-CSStickyHeaderFlowLayout-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = AC96F8CF5D2EFEABDAD602BB /* Pods-CSStickyHeaderFlowLayout-dummy.m */; }; - DC493F2D2E769E9740DE2F0F /* CSStickyHeaderFlowLayout.m in Sources */ = {isa = PBXBuildFile; fileRef = FE18CEC962BE789F46FAEB6F /* CSStickyHeaderFlowLayout.m */; }; + 4939C1D302428B8AA4D845AA6649315E /* Pods-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = D977BFC33FB2277A3AEDEC48FFCA2079 /* Pods-dummy.m */; }; + 718CC17A4811A1C529658991CE1529D8 /* CSStickyHeaderFlowLayoutAttributes.m in Sources */ = {isa = PBXBuildFile; fileRef = C9DF42FC14C22B3814DB7EFD04400F8E /* CSStickyHeaderFlowLayoutAttributes.m */; }; + 90B7D3BC05B6326BE1ACC8369BC4BA9E /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5001DE7E6DBAEB117E72A32A567B30E0 /* Foundation.framework */; }; + BF1B5F9C0B8C15493A888378DB06E099 /* CSStickyHeaderFlowLayout.m in Sources */ = {isa = PBXBuildFile; fileRef = 59912E49FAEB9F1FC77C22957EE88582 /* CSStickyHeaderFlowLayout.m */; }; + C6840549AF89761FFC581FBB8197A427 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5001DE7E6DBAEB117E72A32A567B30E0 /* Foundation.framework */; }; + CD23ACA14536749C7672FE1FCE60A7D6 /* CSStickyHeaderFlowLayoutAttributes.h in Headers */ = {isa = PBXBuildFile; fileRef = C101ADFA653BE696B6288259608E1BC6 /* CSStickyHeaderFlowLayoutAttributes.h */; }; + D76182056CC6BB8DED186CF4EBD28CDA /* CSStickyHeaderFlowLayout-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 7FF0A77C3567C8B48155BFDE19ABC20C /* CSStickyHeaderFlowLayout-dummy.m */; }; + E9BB7C82CE2329FA219E4422CE95B464 /* CSStickyHeaderFlowLayout.h in Headers */ = {isa = PBXBuildFile; fileRef = 1257CE923430D3E27D1157DCBCF77FD3 /* CSStickyHeaderFlowLayout.h */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ - 635E32B6A20DCAE0322DFE3B /* PBXContainerItemProxy */ = { + 169C3A6CF1ED7AC1ADCA5B3DE678753D /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = 4127D870DE62CEB22069E1D7 /* Project object */; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 50FB5229D04F17D96CAB31D2; - remoteInfo = "Pods-CSStickyHeaderFlowLayout"; + remoteGlobalIDString = 32CF90DBE2A4842932209237BC634C11; + remoteInfo = CSStickyHeaderFlowLayout; }; /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ - 0085796C4518EDAEF56204F7 /* libPods-CSStickyHeaderFlowLayout.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-CSStickyHeaderFlowLayout.a"; sourceTree = BUILT_PRODUCTS_DIR; }; - 2882AE8EFC727E355A0F43A7 /* Pods.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Pods.release.xcconfig; sourceTree = ""; }; - 2BECECB3135D7C47FFE12322 /* Podfile */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; - 2D08E4FD5BCD73002B5AEEC8 /* Pods-environment.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-environment.h"; sourceTree = ""; }; - 34398FBC2539784FDE2FB5C3 /* Pods-CSStickyHeaderFlowLayout-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-CSStickyHeaderFlowLayout-prefix.pch"; sourceTree = ""; }; - 40B0BF74D003EEA7E5972DA3 /* Pods-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-resources.sh"; sourceTree = ""; }; - 4CE89B079D71B141EC0F44DC /* Pods.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Pods.debug.xcconfig; sourceTree = ""; }; - 586372366E976725771A83F4 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.3.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; }; - 755CDE987B5BB9706CA723DB /* Pods-CSStickyHeaderFlowLayout.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-CSStickyHeaderFlowLayout.xcconfig"; sourceTree = ""; }; - 78EC98E1A3782FDF08116AA2 /* libPods.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libPods.a; sourceTree = BUILT_PRODUCTS_DIR; }; - 91B25B13B4D7B50BF1235199 /* Pods-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-dummy.m"; sourceTree = ""; }; - A2321EAF33F530944DA10434 /* CSStickyHeaderFlowLayout.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = CSStickyHeaderFlowLayout.h; sourceTree = ""; }; - A96FC8EA31B01494ECA3DF13 /* CSStickyHeaderFlowLayoutAttributes.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = CSStickyHeaderFlowLayoutAttributes.m; sourceTree = ""; }; - AC96F8CF5D2EFEABDAD602BB /* Pods-CSStickyHeaderFlowLayout-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-CSStickyHeaderFlowLayout-dummy.m"; sourceTree = ""; }; - CCD0C6A1A02D3CEAC9DB4A3C /* Pods-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-acknowledgements.plist"; sourceTree = ""; }; - CE9D4A0C95ADCBB364780848 /* CSStickyHeaderFlowLayoutAttributes.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = CSStickyHeaderFlowLayoutAttributes.h; sourceTree = ""; }; - E1F2BC0C6B45843719108537 /* Pods-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-acknowledgements.markdown"; sourceTree = ""; }; - F2B8F976C3B6AACE8D6A8A81 /* Pods-CSStickyHeaderFlowLayout-Private.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-CSStickyHeaderFlowLayout-Private.xcconfig"; sourceTree = ""; }; - FE18CEC962BE789F46FAEB6F /* CSStickyHeaderFlowLayout.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = CSStickyHeaderFlowLayout.m; sourceTree = ""; }; + 07836F93A318AB1B5D363BBB30E562AD /* CSStickyHeaderFlowLayout-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "CSStickyHeaderFlowLayout-prefix.pch"; sourceTree = ""; }; + 1257CE923430D3E27D1157DCBCF77FD3 /* CSStickyHeaderFlowLayout.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = CSStickyHeaderFlowLayout.h; sourceTree = ""; }; + 15A529C27057E4A57D259CBC6E6CE49C /* Pods-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-acknowledgements.markdown"; sourceTree = ""; }; + 2A105B12EA2A2F16B544420D6D486581 /* libCSStickyHeaderFlowLayout.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libCSStickyHeaderFlowLayout.a; sourceTree = BUILT_PRODUCTS_DIR; }; + 5001DE7E6DBAEB117E72A32A567B30E0 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.3.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; }; + 59912E49FAEB9F1FC77C22957EE88582 /* CSStickyHeaderFlowLayout.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = CSStickyHeaderFlowLayout.m; sourceTree = ""; }; + 62BC0F6B182FE98FFA3CA86787062EF1 /* Pods.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Pods.debug.xcconfig; sourceTree = ""; }; + 641AE05DD55E5E6AC1590CD7B4A18F97 /* Pods-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-resources.sh"; sourceTree = ""; }; + 7FF0A77C3567C8B48155BFDE19ABC20C /* CSStickyHeaderFlowLayout-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "CSStickyHeaderFlowLayout-dummy.m"; sourceTree = ""; }; + 96E0C6AF1C624380CE9421A24E761FD4 /* CSStickyHeaderFlowLayout.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = CSStickyHeaderFlowLayout.xcconfig; sourceTree = ""; }; + BA6428E9F66FD5A23C0A2E06ED26CD2F /* Podfile */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; + BF59BC15D23E1E1912C8F334E7236813 /* Pods-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-acknowledgements.plist"; sourceTree = ""; }; + C101ADFA653BE696B6288259608E1BC6 /* CSStickyHeaderFlowLayoutAttributes.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = CSStickyHeaderFlowLayoutAttributes.h; sourceTree = ""; }; + C9DF42FC14C22B3814DB7EFD04400F8E /* CSStickyHeaderFlowLayoutAttributes.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = CSStickyHeaderFlowLayoutAttributes.m; sourceTree = ""; }; + CC7D496BDE63E8D94E22B7817AD9A268 /* CSStickyHeaderFlowLayout-Private.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "CSStickyHeaderFlowLayout-Private.xcconfig"; sourceTree = ""; }; + D977BFC33FB2277A3AEDEC48FFCA2079 /* Pods-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-dummy.m"; sourceTree = ""; }; + E256BC23DED73FB12167274A29383CB2 /* libPods.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libPods.a; sourceTree = BUILT_PRODUCTS_DIR; }; + E8E49AD5F42BB54B641C041AF44A5760 /* Pods.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Pods.release.xcconfig; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ - 4999100F8D2DF233089A5709 /* Frameworks */ = { + 0C3AD088E4FF32DE0DCCC24F189646F4 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 5C786D26BE2AB83BE589AC35 /* Foundation.framework in Frameworks */, + C6840549AF89761FFC581FBB8197A427 /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 67F4C76BAC3904785DECB5F9 /* Frameworks */ = { + 794A06816DE179D23431D33B8172D958 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 5DFF4F027FFEF69181B4572E /* Foundation.framework in Frameworks */, + 90B7D3BC05B6326BE1ACC8369BC4BA9E /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - 30B3D23C74FA88251A15298A = { + 410698420A66B648363A45E76517BBEE /* Development Pods */ = { isa = PBXGroup; children = ( - 2BECECB3135D7C47FFE12322 /* Podfile */, - D5735D7CB7D70301B05EFA38 /* Development Pods */, - CD1C9A2CDF3CF2FADFDD4FCC /* Frameworks */, - FBAFD46CBCCA74B42C5AC026 /* Products */, - EA01DC0964798430B390C9C8 /* Targets Support Files */, + F80AFA9A1107ED5A27D10E2E7DAAEFBE /* CSStickyHeaderFlowLayout */, ); + name = "Development Pods"; sourceTree = ""; }; - 3CC937EE6FD7F5BAEB367152 /* Support Files */ = { + 53F661C0CA7190D2CF05023FB33D61E4 /* iOS */ = { isa = PBXGroup; children = ( - 755CDE987B5BB9706CA723DB /* Pods-CSStickyHeaderFlowLayout.xcconfig */, - F2B8F976C3B6AACE8D6A8A81 /* Pods-CSStickyHeaderFlowLayout-Private.xcconfig */, - AC96F8CF5D2EFEABDAD602BB /* Pods-CSStickyHeaderFlowLayout-dummy.m */, - 34398FBC2539784FDE2FB5C3 /* Pods-CSStickyHeaderFlowLayout-prefix.pch */, + 5001DE7E6DBAEB117E72A32A567B30E0 /* Foundation.framework */, ); - name = "Support Files"; - path = "Project/Pods/Target Support Files/Pods-CSStickyHeaderFlowLayout"; + name = iOS; sourceTree = ""; }; - 4807D8AE429AF1A52D416AB8 /* iOS */ = { + 7DB346D0F39D3F0E887471402A8071AB = { isa = PBXGroup; children = ( - 586372366E976725771A83F4 /* Foundation.framework */, + BA6428E9F66FD5A23C0A2E06ED26CD2F /* Podfile */, + 410698420A66B648363A45E76517BBEE /* Development Pods */, + BC3CA7F9E30CC8F7E2DD044DD34432FC /* Frameworks */, + CCA510CFBEA2D207524CDA0D73C3B561 /* Products */, + D2411A5FE7F7A004607BED49990C37F4 /* Targets Support Files */, ); - name = iOS; sourceTree = ""; }; - B494E755787B88F2FCD74921 /* Pods */ = { + 952EEBFAF8F7E620423C9F156F25A506 /* Pods */ = { isa = PBXGroup; children = ( - E1F2BC0C6B45843719108537 /* Pods-acknowledgements.markdown */, - CCD0C6A1A02D3CEAC9DB4A3C /* Pods-acknowledgements.plist */, - 91B25B13B4D7B50BF1235199 /* Pods-dummy.m */, - 2D08E4FD5BCD73002B5AEEC8 /* Pods-environment.h */, - 40B0BF74D003EEA7E5972DA3 /* Pods-resources.sh */, - 4CE89B079D71B141EC0F44DC /* Pods.debug.xcconfig */, - 2882AE8EFC727E355A0F43A7 /* Pods.release.xcconfig */, + 15A529C27057E4A57D259CBC6E6CE49C /* Pods-acknowledgements.markdown */, + BF59BC15D23E1E1912C8F334E7236813 /* Pods-acknowledgements.plist */, + D977BFC33FB2277A3AEDEC48FFCA2079 /* Pods-dummy.m */, + 641AE05DD55E5E6AC1590CD7B4A18F97 /* Pods-resources.sh */, + 62BC0F6B182FE98FFA3CA86787062EF1 /* Pods.debug.xcconfig */, + E8E49AD5F42BB54B641C041AF44A5760 /* Pods.release.xcconfig */, ); name = Pods; path = "Target Support Files/Pods"; sourceTree = ""; }; - CCCD55452282CDFCB23D2092 /* Classes */ = { + BC3CA7F9E30CC8F7E2DD044DD34432FC /* Frameworks */ = { isa = PBXGroup; children = ( - A2321EAF33F530944DA10434 /* CSStickyHeaderFlowLayout.h */, - FE18CEC962BE789F46FAEB6F /* CSStickyHeaderFlowLayout.m */, - CE9D4A0C95ADCBB364780848 /* CSStickyHeaderFlowLayoutAttributes.h */, - A96FC8EA31B01494ECA3DF13 /* CSStickyHeaderFlowLayoutAttributes.m */, + 53F661C0CA7190D2CF05023FB33D61E4 /* iOS */, ); - path = Classes; + name = Frameworks; sourceTree = ""; }; - CD1C9A2CDF3CF2FADFDD4FCC /* Frameworks */ = { + CCA510CFBEA2D207524CDA0D73C3B561 /* Products */ = { isa = PBXGroup; children = ( - 4807D8AE429AF1A52D416AB8 /* iOS */, + 2A105B12EA2A2F16B544420D6D486581 /* libCSStickyHeaderFlowLayout.a */, + E256BC23DED73FB12167274A29383CB2 /* libPods.a */, ); - name = Frameworks; + name = Products; sourceTree = ""; }; - D5735D7CB7D70301B05EFA38 /* Development Pods */ = { + D2411A5FE7F7A004607BED49990C37F4 /* Targets Support Files */ = { isa = PBXGroup; children = ( - EA4D2D8870F23A490A88D87B /* CSStickyHeaderFlowLayout */, + 952EEBFAF8F7E620423C9F156F25A506 /* Pods */, ); - name = "Development Pods"; + name = "Targets Support Files"; sourceTree = ""; }; - EA01DC0964798430B390C9C8 /* Targets Support Files */ = { + DA0CD6575CEDE7061087F70461B13B42 /* Classes */ = { isa = PBXGroup; children = ( - B494E755787B88F2FCD74921 /* Pods */, + 1257CE923430D3E27D1157DCBCF77FD3 /* CSStickyHeaderFlowLayout.h */, + 59912E49FAEB9F1FC77C22957EE88582 /* CSStickyHeaderFlowLayout.m */, + C101ADFA653BE696B6288259608E1BC6 /* CSStickyHeaderFlowLayoutAttributes.h */, + C9DF42FC14C22B3814DB7EFD04400F8E /* CSStickyHeaderFlowLayoutAttributes.m */, ); - name = "Targets Support Files"; + path = Classes; sourceTree = ""; }; - EA4D2D8870F23A490A88D87B /* CSStickyHeaderFlowLayout */ = { + F80AFA9A1107ED5A27D10E2E7DAAEFBE /* CSStickyHeaderFlowLayout */ = { isa = PBXGroup; children = ( - CCCD55452282CDFCB23D2092 /* Classes */, - 3CC937EE6FD7F5BAEB367152 /* Support Files */, + DA0CD6575CEDE7061087F70461B13B42 /* Classes */, + FC99B6419D37394393040CCFB4F45C5D /* Support Files */, ); name = CSStickyHeaderFlowLayout; path = ../..; sourceTree = ""; }; - FBAFD46CBCCA74B42C5AC026 /* Products */ = { + FC99B6419D37394393040CCFB4F45C5D /* Support Files */ = { isa = PBXGroup; children = ( - 78EC98E1A3782FDF08116AA2 /* libPods.a */, - 0085796C4518EDAEF56204F7 /* libPods-CSStickyHeaderFlowLayout.a */, + 96E0C6AF1C624380CE9421A24E761FD4 /* CSStickyHeaderFlowLayout.xcconfig */, + CC7D496BDE63E8D94E22B7817AD9A268 /* CSStickyHeaderFlowLayout-Private.xcconfig */, + 7FF0A77C3567C8B48155BFDE19ABC20C /* CSStickyHeaderFlowLayout-dummy.m */, + 07836F93A318AB1B5D363BBB30E562AD /* CSStickyHeaderFlowLayout-prefix.pch */, ); - name = Products; + name = "Support Files"; + path = "Project/Pods/Target Support Files/CSStickyHeaderFlowLayout"; sourceTree = ""; }; /* End PBXGroup section */ /* Begin PBXHeadersBuildPhase section */ - 4D0DB934E6D7792C9B360B04 /* Headers */ = { + DE5B0200C7F877527EC419BFBF2BCAC2 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 15F50C1AEAD366DA99E006AB /* CSStickyHeaderFlowLayout.h in Headers */, - 3713F8BE2D3BB55E7F2AB807 /* CSStickyHeaderFlowLayoutAttributes.h in Headers */, + E9BB7C82CE2329FA219E4422CE95B464 /* CSStickyHeaderFlowLayout.h in Headers */, + CD23ACA14536749C7672FE1FCE60A7D6 /* CSStickyHeaderFlowLayoutAttributes.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXHeadersBuildPhase section */ /* Begin PBXNativeTarget section */ - 50FB5229D04F17D96CAB31D2 /* Pods-CSStickyHeaderFlowLayout */ = { + 2EAA1A1D205BF057B42AB5DE35ECFE03 /* Pods */ = { isa = PBXNativeTarget; - buildConfigurationList = A071EA05CCCE5D2EC5784409 /* Build configuration list for PBXNativeTarget "Pods-CSStickyHeaderFlowLayout" */; + buildConfigurationList = 54FCB8F6DEC70AD3A3D4051D92E2525D /* Build configuration list for PBXNativeTarget "Pods" */; buildPhases = ( - AF3B4B62FF2670E1CCFA670B /* Sources */, - 67F4C76BAC3904785DECB5F9 /* Frameworks */, - 4D0DB934E6D7792C9B360B04 /* Headers */, + B3CDA53154316A0AE01D4C7FC0D037D4 /* Sources */, + 794A06816DE179D23431D33B8172D958 /* Frameworks */, ); buildRules = ( ); dependencies = ( + 5A65E30016C21B89D229A375B73A21D3 /* PBXTargetDependency */, ); - name = "Pods-CSStickyHeaderFlowLayout"; - productName = "Pods-CSStickyHeaderFlowLayout"; - productReference = 0085796C4518EDAEF56204F7 /* libPods-CSStickyHeaderFlowLayout.a */; + name = Pods; + productName = Pods; + productReference = E256BC23DED73FB12167274A29383CB2 /* libPods.a */; productType = "com.apple.product-type.library.static"; }; - 672933F81C885C894C0D315B /* Pods */ = { + 32CF90DBE2A4842932209237BC634C11 /* CSStickyHeaderFlowLayout */ = { isa = PBXNativeTarget; - buildConfigurationList = 0C933EE06BBB4A1B9424A5C0 /* Build configuration list for PBXNativeTarget "Pods" */; + buildConfigurationList = 19BD00C3D95D47758DC7D1BAB83BFB7F /* Build configuration list for PBXNativeTarget "CSStickyHeaderFlowLayout" */; buildPhases = ( - 0D0F5F766764919DC267EFDF /* Sources */, - 4999100F8D2DF233089A5709 /* Frameworks */, + 3946CEA8E4418852132E21CD2CE79484 /* Sources */, + 0C3AD088E4FF32DE0DCCC24F189646F4 /* Frameworks */, + DE5B0200C7F877527EC419BFBF2BCAC2 /* Headers */, ); buildRules = ( ); dependencies = ( - B0E089E2FE9E5D4137E87393 /* PBXTargetDependency */, ); - name = Pods; - productName = Pods; - productReference = 78EC98E1A3782FDF08116AA2 /* libPods.a */; + name = CSStickyHeaderFlowLayout; + productName = CSStickyHeaderFlowLayout; + productReference = 2A105B12EA2A2F16B544420D6D486581 /* libCSStickyHeaderFlowLayout.a */; productType = "com.apple.product-type.library.static"; }; /* End PBXNativeTarget section */ /* Begin PBXProject section */ - 4127D870DE62CEB22069E1D7 /* Project object */ = { + D41D8CD98F00B204E9800998ECF8427E /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 0640; + LastSwiftUpdateCheck = 0700; + LastUpgradeCheck = 0700; }; - buildConfigurationList = 48F484435DF26D3FC48790A5 /* Build configuration list for PBXProject "Pods" */; + buildConfigurationList = 2D8E8EC45A3A1A1D94AE762CB5028504 /* Build configuration list for PBXProject "Pods" */; compatibilityVersion = "Xcode 3.2"; developmentRegion = English; hasScannedForEncodings = 0; knownRegions = ( en, ); - mainGroup = 30B3D23C74FA88251A15298A; - productRefGroup = FBAFD46CBCCA74B42C5AC026 /* Products */; + mainGroup = 7DB346D0F39D3F0E887471402A8071AB; + productRefGroup = CCA510CFBEA2D207524CDA0D73C3B561 /* Products */; projectDirPath = ""; projectRoot = ""; targets = ( - 672933F81C885C894C0D315B /* Pods */, - 50FB5229D04F17D96CAB31D2 /* Pods-CSStickyHeaderFlowLayout */, + 32CF90DBE2A4842932209237BC634C11 /* CSStickyHeaderFlowLayout */, + 2EAA1A1D205BF057B42AB5DE35ECFE03 /* Pods */, ); }; /* End PBXProject section */ /* Begin PBXSourcesBuildPhase section */ - 0D0F5F766764919DC267EFDF /* Sources */ = { + 3946CEA8E4418852132E21CD2CE79484 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - CFB41318AA5F85B78C860524 /* Pods-dummy.m in Sources */, + D76182056CC6BB8DED186CF4EBD28CDA /* CSStickyHeaderFlowLayout-dummy.m in Sources */, + BF1B5F9C0B8C15493A888378DB06E099 /* CSStickyHeaderFlowLayout.m in Sources */, + 718CC17A4811A1C529658991CE1529D8 /* CSStickyHeaderFlowLayoutAttributes.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - AF3B4B62FF2670E1CCFA670B /* Sources */ = { + B3CDA53154316A0AE01D4C7FC0D037D4 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - DC493F2D2E769E9740DE2F0F /* CSStickyHeaderFlowLayout.m in Sources */, - CD888DCE6AF473CEEFEB0B6E /* CSStickyHeaderFlowLayoutAttributes.m in Sources */, - D1B104290BCACA8932C06AA2 /* Pods-CSStickyHeaderFlowLayout-dummy.m in Sources */, + 4939C1D302428B8AA4D845AA6649315E /* Pods-dummy.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ - B0E089E2FE9E5D4137E87393 /* PBXTargetDependency */ = { + 5A65E30016C21B89D229A375B73A21D3 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = "Pods-CSStickyHeaderFlowLayout"; - target = 50FB5229D04F17D96CAB31D2 /* Pods-CSStickyHeaderFlowLayout */; - targetProxy = 635E32B6A20DCAE0322DFE3B /* PBXContainerItemProxy */; + name = CSStickyHeaderFlowLayout; + target = 32CF90DBE2A4842932209237BC634C11 /* CSStickyHeaderFlowLayout */; + targetProxy = 169C3A6CF1ED7AC1ADCA5B3DE678753D /* PBXContainerItemProxy */; }; /* End PBXTargetDependency section */ /* Begin XCBuildConfiguration section */ - 20D7118813CC379076F1E7B0 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = F2B8F976C3B6AACE8D6A8A81 /* Pods-CSStickyHeaderFlowLayout-Private.xcconfig */; - buildSettings = { - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_PREFIX_HEADER = "Target Support Files/Pods-CSStickyHeaderFlowLayout/Pods-CSStickyHeaderFlowLayout-prefix.pch"; - IPHONEOS_DEPLOYMENT_TARGET = 7.0; - MTL_ENABLE_DEBUG_INFO = NO; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PRODUCT_NAME = "$(TARGET_NAME)"; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - }; - name = Release; - }; - 4E07C90E9A4469BC04C6A798 /* Debug */ = { + 052A17875CB827423D627183396CEB60 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; @@ -308,15 +291,10 @@ CLANG_WARN_OBJC_ROOT_CLASS = YES; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - COPY_PHASE_STRIP = NO; + COPY_PHASE_STRIP = YES; + ENABLE_NS_ASSERTIONS = NO; GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_DYNAMIC_NO_PIC = NO; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - GCC_SYMBOLS_PRIVATE_EXTERN = NO; + GCC_PREPROCESSOR_DEFINITIONS = "RELEASE=1"; GCC_WARN_64_TO_32_BIT_CONVERSION = YES; GCC_WARN_ABOUT_RETURN_TYPE = YES; GCC_WARN_UNDECLARED_SELECTOR = YES; @@ -324,13 +302,45 @@ GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; IPHONEOS_DEPLOYMENT_TARGET = 7.0; - ONLY_ACTIVE_ARCH = YES; STRIP_INSTALLED_PRODUCT = NO; SYMROOT = "${SRCROOT}/../build"; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + 1D627B7053A47BA5ECE88F862A8DEEEA /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = CC7D496BDE63E8D94E22B7817AD9A268 /* CSStickyHeaderFlowLayout-Private.xcconfig */; + buildSettings = { + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_PREFIX_HEADER = "Target Support Files/CSStickyHeaderFlowLayout/CSStickyHeaderFlowLayout-prefix.pch"; + IPHONEOS_DEPLOYMENT_TARGET = 7.0; + MTL_ENABLE_DEBUG_INFO = NO; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + }; + name = Release; + }; + 3F7C21093C3458FFB9A157380A003F97 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = CC7D496BDE63E8D94E22B7817AD9A268 /* CSStickyHeaderFlowLayout-Private.xcconfig */; + buildSettings = { + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_PREFIX_HEADER = "Target Support Files/CSStickyHeaderFlowLayout/CSStickyHeaderFlowLayout-prefix.pch"; + IPHONEOS_DEPLOYMENT_TARGET = 7.0; + MTL_ENABLE_DEBUG_INFO = YES; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; }; name = Debug; }; - 56287BE8681B9CC7CAB262AD /* Release */ = { + B37F0F91F85060E28F1DAAB522DC7EC1 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; @@ -347,10 +357,15 @@ CLANG_WARN_OBJC_ROOT_CLASS = YES; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - COPY_PHASE_STRIP = YES; - ENABLE_NS_ASSERTIONS = NO; + COPY_PHASE_STRIP = NO; GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_PREPROCESSOR_DEFINITIONS = "RELEASE=1"; + GCC_DYNAMIC_NO_PIC = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_SYMBOLS_PRIVATE_EXTERN = NO; GCC_WARN_64_TO_32_BIT_CONVERSION = YES; GCC_WARN_ABOUT_RETURN_TYPE = YES; GCC_WARN_UNDECLARED_SELECTOR = YES; @@ -358,31 +373,15 @@ GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; IPHONEOS_DEPLOYMENT_TARGET = 7.0; + ONLY_ACTIVE_ARCH = YES; STRIP_INSTALLED_PRODUCT = NO; SYMROOT = "${SRCROOT}/../build"; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; - 747325B20014753E47DCB721 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 4CE89B079D71B141EC0F44DC /* Pods.debug.xcconfig */; - buildSettings = { - ENABLE_STRICT_OBJC_MSGSEND = YES; - IPHONEOS_DEPLOYMENT_TARGET = 7.0; - MTL_ENABLE_DEBUG_INFO = YES; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PODS_ROOT = "$(SRCROOT)"; - PRODUCT_NAME = "$(TARGET_NAME)"; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; }; name = Debug; }; - B7E6CD45BF9AB3E70965BB02 /* Release */ = { + BA689EE488AFB5C4C61B57BED665B985 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 2882AE8EFC727E355A0F43A7 /* Pods.release.xcconfig */; + baseConfigurationReference = E8E49AD5F42BB54B641C041AF44A5760 /* Pods.release.xcconfig */; buildSettings = { ENABLE_STRICT_OBJC_MSGSEND = YES; IPHONEOS_DEPLOYMENT_TARGET = 7.0; @@ -396,16 +395,16 @@ }; name = Release; }; - CDC7DABF49892B7AA5F1979F /* Debug */ = { + C73E823B626A71316C4172A3B03DF294 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = F2B8F976C3B6AACE8D6A8A81 /* Pods-CSStickyHeaderFlowLayout-Private.xcconfig */; + baseConfigurationReference = 62BC0F6B182FE98FFA3CA86787062EF1 /* Pods.debug.xcconfig */; buildSettings = { ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_PREFIX_HEADER = "Target Support Files/Pods-CSStickyHeaderFlowLayout/Pods-CSStickyHeaderFlowLayout-prefix.pch"; IPHONEOS_DEPLOYMENT_TARGET = 7.0; MTL_ENABLE_DEBUG_INFO = YES; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; + PODS_ROOT = "$(SRCROOT)"; PRODUCT_NAME = "$(TARGET_NAME)"; SDKROOT = iphoneos; SKIP_INSTALL = YES; @@ -415,34 +414,34 @@ /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ - 0C933EE06BBB4A1B9424A5C0 /* Build configuration list for PBXNativeTarget "Pods" */ = { + 19BD00C3D95D47758DC7D1BAB83BFB7F /* Build configuration list for PBXNativeTarget "CSStickyHeaderFlowLayout" */ = { isa = XCConfigurationList; buildConfigurations = ( - 747325B20014753E47DCB721 /* Debug */, - B7E6CD45BF9AB3E70965BB02 /* Release */, + 3F7C21093C3458FFB9A157380A003F97 /* Debug */, + 1D627B7053A47BA5ECE88F862A8DEEEA /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 48F484435DF26D3FC48790A5 /* Build configuration list for PBXProject "Pods" */ = { + 2D8E8EC45A3A1A1D94AE762CB5028504 /* Build configuration list for PBXProject "Pods" */ = { isa = XCConfigurationList; buildConfigurations = ( - 4E07C90E9A4469BC04C6A798 /* Debug */, - 56287BE8681B9CC7CAB262AD /* Release */, + B37F0F91F85060E28F1DAAB522DC7EC1 /* Debug */, + 052A17875CB827423D627183396CEB60 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - A071EA05CCCE5D2EC5784409 /* Build configuration list for PBXNativeTarget "Pods-CSStickyHeaderFlowLayout" */ = { + 54FCB8F6DEC70AD3A3D4051D92E2525D /* Build configuration list for PBXNativeTarget "Pods" */ = { isa = XCConfigurationList; buildConfigurations = ( - CDC7DABF49892B7AA5F1979F /* Debug */, - 20D7118813CC379076F1E7B0 /* Release */, + C73E823B626A71316C4172A3B03DF294 /* Debug */, + BA689EE488AFB5C4C61B57BED665B985 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; /* End XCConfigurationList section */ }; - rootObject = 4127D870DE62CEB22069E1D7 /* Project object */; + rootObject = D41D8CD98F00B204E9800998ECF8427E /* Project object */; } diff --git a/Project/Pods/Pods.xcodeproj/xcshareddata/xcschemes/CSStickyHeaderFlowLayout.xcscheme b/Project/Pods/Pods.xcodeproj/xcshareddata/xcschemes/CSStickyHeaderFlowLayout.xcscheme new file mode 100644 index 0000000..ac083dd --- /dev/null +++ b/Project/Pods/Pods.xcodeproj/xcshareddata/xcschemes/CSStickyHeaderFlowLayout.xcscheme @@ -0,0 +1,62 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Project/Pods/Target Support Files/Pods-CSStickyHeaderFlowLayout/Pods-CSStickyHeaderFlowLayout-Private.xcconfig b/Project/Pods/Target Support Files/CSStickyHeaderFlowLayout/CSStickyHeaderFlowLayout-Private.xcconfig similarity index 80% rename from Project/Pods/Target Support Files/Pods-CSStickyHeaderFlowLayout/Pods-CSStickyHeaderFlowLayout-Private.xcconfig rename to Project/Pods/Target Support Files/CSStickyHeaderFlowLayout/CSStickyHeaderFlowLayout-Private.xcconfig index 87084a4..7749a02 100644 --- a/Project/Pods/Target Support Files/Pods-CSStickyHeaderFlowLayout/Pods-CSStickyHeaderFlowLayout-Private.xcconfig +++ b/Project/Pods/Target Support Files/CSStickyHeaderFlowLayout/CSStickyHeaderFlowLayout-Private.xcconfig @@ -1,6 +1,5 @@ -#include "Pods-CSStickyHeaderFlowLayout.xcconfig" +#include "CSStickyHeaderFlowLayout.xcconfig" GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/CSStickyHeaderFlowLayout" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/CSStickyHeaderFlowLayout" -OTHER_LDFLAGS = -ObjC PODS_ROOT = ${SRCROOT} SKIP_INSTALL = YES \ No newline at end of file diff --git a/Project/Pods/Target Support Files/CSStickyHeaderFlowLayout/CSStickyHeaderFlowLayout-dummy.m b/Project/Pods/Target Support Files/CSStickyHeaderFlowLayout/CSStickyHeaderFlowLayout-dummy.m new file mode 100644 index 0000000..91cc005 --- /dev/null +++ b/Project/Pods/Target Support Files/CSStickyHeaderFlowLayout/CSStickyHeaderFlowLayout-dummy.m @@ -0,0 +1,5 @@ +#import +@interface PodsDummy_CSStickyHeaderFlowLayout : NSObject +@end +@implementation PodsDummy_CSStickyHeaderFlowLayout +@end diff --git a/Project/Pods/Target Support Files/Pods-CSStickyHeaderFlowLayout/Pods-CSStickyHeaderFlowLayout-prefix.pch b/Project/Pods/Target Support Files/CSStickyHeaderFlowLayout/CSStickyHeaderFlowLayout-prefix.pch similarity index 62% rename from Project/Pods/Target Support Files/Pods-CSStickyHeaderFlowLayout/Pods-CSStickyHeaderFlowLayout-prefix.pch rename to Project/Pods/Target Support Files/CSStickyHeaderFlowLayout/CSStickyHeaderFlowLayout-prefix.pch index 95cf11d..aa992a4 100644 --- a/Project/Pods/Target Support Files/Pods-CSStickyHeaderFlowLayout/Pods-CSStickyHeaderFlowLayout-prefix.pch +++ b/Project/Pods/Target Support Files/CSStickyHeaderFlowLayout/CSStickyHeaderFlowLayout-prefix.pch @@ -2,4 +2,3 @@ #import #endif -#import "Pods-environment.h" diff --git a/Project/Pods/Target Support Files/Pods-CSStickyHeaderFlowLayout/Pods-CSStickyHeaderFlowLayout.xcconfig b/Project/Pods/Target Support Files/CSStickyHeaderFlowLayout/CSStickyHeaderFlowLayout.xcconfig similarity index 100% rename from Project/Pods/Target Support Files/Pods-CSStickyHeaderFlowLayout/Pods-CSStickyHeaderFlowLayout.xcconfig rename to Project/Pods/Target Support Files/CSStickyHeaderFlowLayout/CSStickyHeaderFlowLayout.xcconfig diff --git a/Project/Pods/Target Support Files/Pods-CSStickyHeaderFlowLayout/Pods-CSStickyHeaderFlowLayout-dummy.m b/Project/Pods/Target Support Files/Pods-CSStickyHeaderFlowLayout/Pods-CSStickyHeaderFlowLayout-dummy.m deleted file mode 100644 index e9c00bd..0000000 --- a/Project/Pods/Target Support Files/Pods-CSStickyHeaderFlowLayout/Pods-CSStickyHeaderFlowLayout-dummy.m +++ /dev/null @@ -1,5 +0,0 @@ -#import -@interface PodsDummy_Pods_CSStickyHeaderFlowLayout : NSObject -@end -@implementation PodsDummy_Pods_CSStickyHeaderFlowLayout -@end diff --git a/Project/Pods/Target Support Files/Pods/Pods-environment.h b/Project/Pods/Target Support Files/Pods/Pods-environment.h deleted file mode 100644 index 14b576e..0000000 --- a/Project/Pods/Target Support Files/Pods/Pods-environment.h +++ /dev/null @@ -1,14 +0,0 @@ - -// To check if a library is compiled with CocoaPods you -// can use the `COCOAPODS` macro definition which is -// defined in the xcconfigs so it is available in -// headers also when they are imported in the client -// project. - - -// CSStickyHeaderFlowLayout -#define COCOAPODS_POD_AVAILABLE_CSStickyHeaderFlowLayout -#define COCOAPODS_VERSION_MAJOR_CSStickyHeaderFlowLayout 0 -#define COCOAPODS_VERSION_MINOR_CSStickyHeaderFlowLayout 2 -#define COCOAPODS_VERSION_PATCH_CSStickyHeaderFlowLayout 9 - diff --git a/Project/Pods/Target Support Files/Pods/Pods-resources.sh b/Project/Pods/Target Support Files/Pods/Pods-resources.sh index 43f0852..ea685a2 100755 --- a/Project/Pods/Target Support Files/Pods/Pods-resources.sh +++ b/Project/Pods/Target Support Files/Pods/Pods-resources.sh @@ -9,7 +9,7 @@ RESOURCES_TO_COPY=${PODS_ROOT}/resources-to-copy-${TARGETNAME}.txt XCASSET_FILES=() realpath() { - DIRECTORY=$(cd "${1%/*}" && pwd) + DIRECTORY="$(cd "${1%/*}" && pwd)" FILENAME="${1##*/}" echo "$DIRECTORY/$FILENAME" } @@ -22,7 +22,7 @@ install_resource() ibtool --reference-external-strings-file --errors --warnings --notices --output-format human-readable-text --compile "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$1\" .storyboard`.storyboardc" "${PODS_ROOT}/$1" --sdk "${SDKROOT}" ;; *.xib) - echo "ibtool --reference-external-strings-file --errors --warnings --notices --output-format human-readable-text --compile ${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$1\" .xib`.nib ${PODS_ROOT}/$1 --sdk ${SDKROOT}" + echo "ibtool --reference-external-strings-file --errors --warnings --notices --output-format human-readable-text --compile ${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$1\" .xib`.nib ${PODS_ROOT}/$1 --sdk ${SDKROOT}" ibtool --reference-external-strings-file --errors --warnings --notices --output-format human-readable-text --compile "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$1\" .xib`.nib" "${PODS_ROOT}/$1" --sdk "${SDKROOT}" ;; *.framework) @@ -58,8 +58,10 @@ install_resource() esac } +mkdir -p "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" if [[ "${ACTION}" == "install" ]]; then + mkdir -p "${INSTALL_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${INSTALL_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" fi rm -f "$RESOURCES_TO_COPY" diff --git a/Project/Pods/Target Support Files/Pods/Pods.debug.xcconfig b/Project/Pods/Target Support Files/Pods/Pods.debug.xcconfig index 430b2d7..a94e0c5 100644 --- a/Project/Pods/Target Support Files/Pods/Pods.debug.xcconfig +++ b/Project/Pods/Target Support Files/Pods/Pods.debug.xcconfig @@ -1,6 +1,5 @@ GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/CSStickyHeaderFlowLayout" OTHER_CFLAGS = $(inherited) -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/CSStickyHeaderFlowLayout" -OTHER_LDFLAGS = $(inherited) -ObjC -l"Pods-CSStickyHeaderFlowLayout" -OTHER_LIBTOOLFLAGS = $(OTHER_LDFLAGS) +OTHER_LDFLAGS = $(inherited) -ObjC -l"CSStickyHeaderFlowLayout" PODS_ROOT = ${SRCROOT}/Pods \ No newline at end of file diff --git a/Project/Pods/Target Support Files/Pods/Pods.release.xcconfig b/Project/Pods/Target Support Files/Pods/Pods.release.xcconfig index 430b2d7..a94e0c5 100644 --- a/Project/Pods/Target Support Files/Pods/Pods.release.xcconfig +++ b/Project/Pods/Target Support Files/Pods/Pods.release.xcconfig @@ -1,6 +1,5 @@ GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/CSStickyHeaderFlowLayout" OTHER_CFLAGS = $(inherited) -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/CSStickyHeaderFlowLayout" -OTHER_LDFLAGS = $(inherited) -ObjC -l"Pods-CSStickyHeaderFlowLayout" -OTHER_LIBTOOLFLAGS = $(OTHER_LDFLAGS) +OTHER_LDFLAGS = $(inherited) -ObjC -l"CSStickyHeaderFlowLayout" PODS_ROOT = ${SRCROOT}/Pods \ No newline at end of file From 1cc61c33787c3f9cb5c507b475cb545b56bee61d Mon Sep 17 00:00:00 2001 From: Jorge Mario Orjuela Gutierrez Date: Fri, 11 Dec 2015 00:21:04 -0500 Subject: [PATCH 06/28] updated swift syntax --- Project/SwiftDemo/SwiftDemo/CollectionParallaxHeader.swift | 2 +- Project/SwiftDemo/SwiftDemo/CollectionViewCell.swift | 2 +- Project/SwiftDemo/SwiftDemo/CollectionViewSectionHeader.swift | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Project/SwiftDemo/SwiftDemo/CollectionParallaxHeader.swift b/Project/SwiftDemo/SwiftDemo/CollectionParallaxHeader.swift index da4f4ab..60fc7e9 100644 --- a/Project/SwiftDemo/SwiftDemo/CollectionParallaxHeader.swift +++ b/Project/SwiftDemo/SwiftDemo/CollectionParallaxHeader.swift @@ -28,7 +28,7 @@ class CollectionParallaxHeader: UICollectionReusableView { self.addSubview(imageView) } - required init(coder aDecoder: NSCoder) { + required init?(coder aDecoder: NSCoder) { super.init(coder: aDecoder) } diff --git a/Project/SwiftDemo/SwiftDemo/CollectionViewCell.swift b/Project/SwiftDemo/SwiftDemo/CollectionViewCell.swift index 6d1149b..220133a 100644 --- a/Project/SwiftDemo/SwiftDemo/CollectionViewCell.swift +++ b/Project/SwiftDemo/SwiftDemo/CollectionViewCell.swift @@ -30,7 +30,7 @@ class CollectionViewCell: UICollectionViewCell { self.addSubview(label) } - required init(coder aDecoder: NSCoder) { + required init?(coder aDecoder: NSCoder) { super.init(coder: aDecoder) } diff --git a/Project/SwiftDemo/SwiftDemo/CollectionViewSectionHeader.swift b/Project/SwiftDemo/SwiftDemo/CollectionViewSectionHeader.swift index 8bcbd1d..d160ed8 100644 --- a/Project/SwiftDemo/SwiftDemo/CollectionViewSectionHeader.swift +++ b/Project/SwiftDemo/SwiftDemo/CollectionViewSectionHeader.swift @@ -16,7 +16,7 @@ class CollectionViewSectionHeader: UICollectionReusableView { commonInit() } - required init(coder aDecoder: NSCoder) { + required init?(coder aDecoder: NSCoder) { super.init(coder: aDecoder) commonInit() } From 7378adc696c0af602553197142d54a717f3df587 Mon Sep 17 00:00:00 2001 From: Lubos Lehota Date: Sun, 24 Jul 2016 13:16:34 +0200 Subject: [PATCH 07/28] Allows to disable stretching view to more than set height. --- Classes/CSStickyHeaderFlowLayout.h | 1 + Classes/CSStickyHeaderFlowLayout.m | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/Classes/CSStickyHeaderFlowLayout.h b/Classes/CSStickyHeaderFlowLayout.h index d1801fb..690b9c2 100644 --- a/Classes/CSStickyHeaderFlowLayout.h +++ b/Classes/CSStickyHeaderFlowLayout.h @@ -27,5 +27,6 @@ extern NSString *const CSStickyHeaderParallaxHeader; @property (nonatomic) CGSize parallaxHeaderMinimumReferenceSize; @property (nonatomic) BOOL parallaxHeaderAlwaysOnTop; @property (nonatomic) BOOL disableStickyHeaders; +@property (nonatomic) BOOL disableStretching; @end diff --git a/Classes/CSStickyHeaderFlowLayout.m b/Classes/CSStickyHeaderFlowLayout.m index de2aa21..610ba91 100644 --- a/Classes/CSStickyHeaderFlowLayout.m +++ b/Classes/CSStickyHeaderFlowLayout.m @@ -276,7 +276,7 @@ - (void)updateParallaxHeaderAttribute:(CSStickyHeaderFlowLayoutAttributes *)curr frame.origin.x, y, frame.size.width, - height, + self.disableStretching && height > maxHeight ? maxHeight : height, }; } From d3eb770ccf2de967b9084d7cbb48c22245885561 Mon Sep 17 00:00:00 2001 From: chrene Date: Tue, 16 Aug 2016 12:23:04 +0200 Subject: [PATCH 08/28] Add a framework target for carthage support --- .../CSStickyHeaderFlowLayoutCarthage.h | 19 +++ .../Info.plist | 26 ++++ .../project.pbxproj | 140 ++++++++++++++++++ .../CSStickyHeaderFlowLayoutCarthage.xcscheme | 80 ++++++++++ .../CSStickyHeaderFlowLayout.xcscheme | 23 ++- 5 files changed, 281 insertions(+), 7 deletions(-) create mode 100644 Project/CSStickyHeaderFlowLayoutCarthage/CSStickyHeaderFlowLayoutCarthage.h create mode 100644 Project/CSStickyHeaderFlowLayoutCarthage/Info.plist create mode 100644 Project/CSStickyHeaderFlowLayoutDemo.xcodeproj/xcshareddata/xcschemes/CSStickyHeaderFlowLayoutCarthage.xcscheme diff --git a/Project/CSStickyHeaderFlowLayoutCarthage/CSStickyHeaderFlowLayoutCarthage.h b/Project/CSStickyHeaderFlowLayoutCarthage/CSStickyHeaderFlowLayoutCarthage.h new file mode 100644 index 0000000..d3de69d --- /dev/null +++ b/Project/CSStickyHeaderFlowLayoutCarthage/CSStickyHeaderFlowLayoutCarthage.h @@ -0,0 +1,19 @@ +// +// CSStickyHeaderFlowLayoutCarthage.h +// CSStickyHeaderFlowLayoutCarthage +// +// Created by Christian Enevoldsen on 16/08/16. +// Copyright © 2016 Jamz Tang. All rights reserved. +// + +#import + +//! Project version number for CSStickyHeaderFlowLayoutCarthage. +FOUNDATION_EXPORT double CSStickyHeaderFlowLayoutCarthageVersionNumber; + +//! Project version string for CSStickyHeaderFlowLayoutCarthage. +FOUNDATION_EXPORT const unsigned char CSStickyHeaderFlowLayoutCarthageVersionString[]; + +// In this header, you should import all the public headers of your framework using statements like #import + + diff --git a/Project/CSStickyHeaderFlowLayoutCarthage/Info.plist b/Project/CSStickyHeaderFlowLayoutCarthage/Info.plist new file mode 100644 index 0000000..d3de8ee --- /dev/null +++ b/Project/CSStickyHeaderFlowLayoutCarthage/Info.plist @@ -0,0 +1,26 @@ + + + + + CFBundleDevelopmentRegion + en + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + FMWK + CFBundleShortVersionString + 1.0 + CFBundleSignature + ???? + CFBundleVersion + $(CURRENT_PROJECT_VERSION) + NSPrincipalClass + + + diff --git a/Project/CSStickyHeaderFlowLayoutDemo.xcodeproj/project.pbxproj b/Project/CSStickyHeaderFlowLayoutDemo.xcodeproj/project.pbxproj index e349970..05e7bc1 100644 --- a/Project/CSStickyHeaderFlowLayoutDemo.xcodeproj/project.pbxproj +++ b/Project/CSStickyHeaderFlowLayoutDemo.xcodeproj/project.pbxproj @@ -40,6 +40,11 @@ 1AFE097F187D677000CA880A /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 1AFE097D187D677000CA880A /* InfoPlist.strings */; }; 1AFE0981187D677000CA880A /* CSStickyHeaderFlowLayoutDemoTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 1AFE0980187D677000CA880A /* CSStickyHeaderFlowLayoutDemoTests.m */; }; 1AFE0992187D688300CA880A /* CSCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 1AFE0991187D688300CA880A /* CSCell.m */; }; + AF1D0D491D63203300F9FA68 /* CSStickyHeaderFlowLayoutCarthage.h in Headers */ = {isa = PBXBuildFile; fileRef = AF1D0D481D63203300F9FA68 /* CSStickyHeaderFlowLayoutCarthage.h */; settings = {ATTRIBUTES = (Public, ); }; }; + AF1D0D4E1D6320A800F9FA68 /* CSStickyHeaderFlowLayout.m in Sources */ = {isa = PBXBuildFile; fileRef = 1A4B2F761B56C5A6007F67CC /* CSStickyHeaderFlowLayout.m */; }; + AF1D0D4F1D6320A800F9FA68 /* CSStickyHeaderFlowLayoutAttributes.m in Sources */ = {isa = PBXBuildFile; fileRef = 1A4B2F781B56C5A6007F67CC /* CSStickyHeaderFlowLayoutAttributes.m */; }; + AF1D0D501D6320B100F9FA68 /* CSStickyHeaderFlowLayout.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A4B2F751B56C5A6007F67CC /* CSStickyHeaderFlowLayout.h */; settings = {ATTRIBUTES = (Public, ); }; }; + AF1D0D511D6320B100F9FA68 /* CSStickyHeaderFlowLayoutAttributes.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A4B2F771B56C5A6007F67CC /* CSStickyHeaderFlowLayoutAttributes.h */; settings = {ATTRIBUTES = (Public, ); }; }; B36BC395070946668DCF2AFF /* libPods.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 491370024AF54DD8BFB773DA /* libPods.a */; }; /* End PBXBuildFile section */ @@ -134,6 +139,9 @@ 58D371C1C7F562AB1D536637 /* Pods.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = Pods.debug.xcconfig; path = "Pods/Target Support Files/Pods/Pods.debug.xcconfig"; sourceTree = ""; }; 6BDE4094D41E4DE6515DF055 /* Pods.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = Pods.debug.xcconfig; path = "Pods/Target Support Files/Pods/Pods.debug.xcconfig"; sourceTree = ""; }; AD97E1BDF2B20F6336CBF8D7 /* Pods.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = Pods.release.xcconfig; path = "Pods/Target Support Files/Pods/Pods.release.xcconfig"; sourceTree = ""; }; + AF1D0D461D63203300F9FA68 /* CSStickyHeaderFlowLayout.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = CSStickyHeaderFlowLayout.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + AF1D0D481D63203300F9FA68 /* CSStickyHeaderFlowLayoutCarthage.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = CSStickyHeaderFlowLayoutCarthage.h; sourceTree = ""; }; + AF1D0D4A1D63203300F9FA68 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -174,6 +182,13 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + AF1D0D421D63203300F9FA68 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ @@ -231,6 +246,7 @@ 1AFE097A187D677000CA880A /* CSStickyHeaderFlowLayoutDemoTests */, 1A4B2F561B56C539007F67CC /* CSStickyHeaderFlowLayout */, 1A4B2F651B56C539007F67CC /* CSStickyHeaderFlowLayoutTests */, + AF1D0D471D63203300F9FA68 /* CSStickyHeaderFlowLayoutCarthage */, 1AFE0954187D677000CA880A /* Frameworks */, 1AFE0953187D677000CA880A /* Products */, 9DDE38A70ED787DEBF9A6411 /* Pods */, @@ -244,6 +260,7 @@ 1AFE0973187D677000CA880A /* CSStickyHeaderFlowLayoutDemoTests.xctest */, 1A4B2F551B56C539007F67CC /* CSStickyHeaderFlowLayout.framework */, 1A4B2F5F1B56C539007F67CC /* CSStickyHeaderFlowLayoutTests.xctest */, + AF1D0D461D63203300F9FA68 /* CSStickyHeaderFlowLayout.framework */, ); name = Products; sourceTree = ""; @@ -349,6 +366,15 @@ name = Pods; sourceTree = ""; }; + AF1D0D471D63203300F9FA68 /* CSStickyHeaderFlowLayoutCarthage */ = { + isa = PBXGroup; + children = ( + AF1D0D481D63203300F9FA68 /* CSStickyHeaderFlowLayoutCarthage.h */, + AF1D0D4A1D63203300F9FA68 /* Info.plist */, + ); + path = CSStickyHeaderFlowLayoutCarthage; + sourceTree = ""; + }; /* End PBXGroup section */ /* Begin PBXHeadersBuildPhase section */ @@ -361,6 +387,16 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + AF1D0D431D63203300F9FA68 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + AF1D0D501D6320B100F9FA68 /* CSStickyHeaderFlowLayout.h in Headers */, + AF1D0D511D6320B100F9FA68 /* CSStickyHeaderFlowLayoutAttributes.h in Headers */, + AF1D0D491D63203300F9FA68 /* CSStickyHeaderFlowLayoutCarthage.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; /* End PBXHeadersBuildPhase section */ /* Begin PBXNativeTarget section */ @@ -439,6 +475,24 @@ productReference = 1AFE0973187D677000CA880A /* CSStickyHeaderFlowLayoutDemoTests.xctest */; productType = "com.apple.product-type.bundle.unit-test"; }; + AF1D0D451D63203300F9FA68 /* CSStickyHeaderFlowLayoutCarthage */ = { + isa = PBXNativeTarget; + buildConfigurationList = AF1D0D4D1D63203300F9FA68 /* Build configuration list for PBXNativeTarget "CSStickyHeaderFlowLayoutCarthage" */; + buildPhases = ( + AF1D0D411D63203300F9FA68 /* Sources */, + AF1D0D421D63203300F9FA68 /* Frameworks */, + AF1D0D431D63203300F9FA68 /* Headers */, + AF1D0D441D63203300F9FA68 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = CSStickyHeaderFlowLayoutCarthage; + productName = CSStickyHeaderFlowLayoutCarthage; + productReference = AF1D0D461D63203300F9FA68 /* CSStickyHeaderFlowLayout.framework */; + productType = "com.apple.product-type.framework"; + }; /* End PBXNativeTarget section */ /* Begin PBXProject section */ @@ -459,6 +513,9 @@ 1AFE0972187D677000CA880A = { TestTargetID = 1AFE0951187D677000CA880A; }; + AF1D0D451D63203300F9FA68 = { + CreatedOnToolsVersion = 7.3.1; + }; }; }; buildConfigurationList = 1AFE094D187D677000CA880A /* Build configuration list for PBXProject "CSStickyHeaderFlowLayoutDemo" */; @@ -478,6 +535,7 @@ 1AFE0972187D677000CA880A /* CSStickyHeaderFlowLayoutDemoTests */, 1A4B2F541B56C539007F67CC /* CSStickyHeaderFlowLayout */, 1A4B2F5E1B56C539007F67CC /* CSStickyHeaderFlowLayoutTests */, + AF1D0D451D63203300F9FA68 /* CSStickyHeaderFlowLayoutCarthage */, ); }; /* End PBXProject section */ @@ -520,6 +578,13 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + AF1D0D441D63203300F9FA68 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ @@ -598,6 +663,15 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + AF1D0D411D63203300F9FA68 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + AF1D0D4F1D6320A800F9FA68 /* CSStickyHeaderFlowLayoutAttributes.m in Sources */, + AF1D0D4E1D6320A800F9FA68 /* CSStickyHeaderFlowLayout.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ @@ -900,6 +974,64 @@ }; name = Release; }; + AF1D0D4B1D63203300F9FA68 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + CLANG_ANALYZER_NONNULL = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + 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_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + INFOPLIST_FILE = CSStickyHeaderFlowLayoutCarthage/Info.plist; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 8.3; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MTL_ENABLE_DEBUG_INFO = YES; + PRODUCT_BUNDLE_IDENTIFIER = com.jamztang.CSStickyHeaderFlowLayoutFramework.CSStickyHeaderFlowLayoutCarthage; + PRODUCT_NAME = CSStickyHeaderFlowLayout; + SKIP_INSTALL = YES; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + TARGETED_DEVICE_FAMILY = "1,2"; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Debug; + }; + AF1D0D4C1D63203300F9FA68 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + CLANG_ANALYZER_NONNULL = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + COPY_PHASE_STRIP = NO; + 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_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + INFOPLIST_FILE = CSStickyHeaderFlowLayoutCarthage/Info.plist; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 8.3; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MTL_ENABLE_DEBUG_INFO = NO; + PRODUCT_BUNDLE_IDENTIFIER = com.jamztang.CSStickyHeaderFlowLayoutFramework.CSStickyHeaderFlowLayoutCarthage; + PRODUCT_NAME = CSStickyHeaderFlowLayout; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,2"; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Release; + }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ @@ -948,6 +1080,14 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; + AF1D0D4D1D63203300F9FA68 /* Build configuration list for PBXNativeTarget "CSStickyHeaderFlowLayoutCarthage" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + AF1D0D4B1D63203300F9FA68 /* Debug */, + AF1D0D4C1D63203300F9FA68 /* Release */, + ); + defaultConfigurationIsVisible = 0; + }; /* End XCConfigurationList section */ }; rootObject = 1AFE094A187D677000CA880A /* Project object */; diff --git a/Project/CSStickyHeaderFlowLayoutDemo.xcodeproj/xcshareddata/xcschemes/CSStickyHeaderFlowLayoutCarthage.xcscheme b/Project/CSStickyHeaderFlowLayoutDemo.xcodeproj/xcshareddata/xcschemes/CSStickyHeaderFlowLayoutCarthage.xcscheme new file mode 100644 index 0000000..543f210 --- /dev/null +++ b/Project/CSStickyHeaderFlowLayoutDemo.xcodeproj/xcshareddata/xcschemes/CSStickyHeaderFlowLayoutCarthage.xcscheme @@ -0,0 +1,80 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Project/Pods/Pods.xcodeproj/xcshareddata/xcschemes/CSStickyHeaderFlowLayout.xcscheme b/Project/Pods/Pods.xcodeproj/xcshareddata/xcschemes/CSStickyHeaderFlowLayout.xcscheme index ac083dd..0c73e58 100644 --- a/Project/Pods/Pods.xcodeproj/xcshareddata/xcschemes/CSStickyHeaderFlowLayout.xcscheme +++ b/Project/Pods/Pods.xcodeproj/xcshareddata/xcschemes/CSStickyHeaderFlowLayout.xcscheme @@ -14,7 +14,7 @@ buildForAnalyzing = "YES"> @@ -23,33 +23,42 @@ - - + shouldUseLaunchSchemeArgsEnv = "YES"> + + + + + + Date: Mon, 12 Sep 2016 18:19:32 +0800 Subject: [PATCH 09/28] Update README.md --- README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/README.md b/README.md index 46be8e3..72b4e9a 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,9 @@ # CSStickyHeaderFlowLayout +## Contributors + +For anyone who'd like to contribute to the repository, ping me via [email](j@jamztang.com) to me contributors. + From b5f6ba22a2de2d1b74a153ee2563e9ee7ebdf994 Mon Sep 17 00:00:00 2001 From: James Tang Date: Mon, 12 Sep 2016 18:19:51 +0800 Subject: [PATCH 10/28] Update README.md --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 72b4e9a..ec3e3f7 100644 --- a/README.md +++ b/README.md @@ -4,6 +4,8 @@ For anyone who'd like to contribute to the repository, ping me via [email](j@jamztang.com) to me contributors. +--- + From 9a229384a068422cc53a23319ba989d000e59c96 Mon Sep 17 00:00:00 2001 From: James Tang Date: Mon, 12 Sep 2016 18:20:18 +0800 Subject: [PATCH 11/28] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index ec3e3f7..6e795c6 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ ## Contributors -For anyone who'd like to contribute to the repository, ping me via [email](j@jamztang.com) to me contributors. +For anyone who'd like to be a contributor to the repository, please ping me via [email](j@jamztang.com). --- From 6dba10c6bf00df1f79be4bf23485fc6bb635b695 Mon Sep 17 00:00:00 2001 From: James Tang Date: Mon, 12 Sep 2016 18:27:27 +0800 Subject: [PATCH 12/28] Update README.md --- README.md | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/README.md b/README.md index 6e795c6..f8aeb72 100644 --- a/README.md +++ b/README.md @@ -116,19 +116,6 @@ Run the project examples and it'll shows you exactly how you achieve different e ![](http://f.cl.ly/items/313D2n3R0H0e0x090B3X/different-header.jpeg) - - -## Donation - -If you think this worths something, tip me a cup of coffee! (p.s. was trying out ChangeTip, or if you know any better donation button, let [me](http://twitter.com/@jamztang) know) :) - - - Tip Me With ChangeTip - - - ## Updates - 0.2.10: Fixed issue because attributes were not copied and datasource might have been niled From d8f019517b89c05364b383cfc516044bbc7e785e Mon Sep 17 00:00:00 2001 From: chrene Date: Mon, 12 Sep 2016 18:53:00 +0200 Subject: [PATCH 13/28] Change version in podspecs --- CSStickyHeaderFlowLayout.podspec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CSStickyHeaderFlowLayout.podspec b/CSStickyHeaderFlowLayout.podspec index b0f4e50..0ff3f67 100644 --- a/CSStickyHeaderFlowLayout.podspec +++ b/CSStickyHeaderFlowLayout.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = "CSStickyHeaderFlowLayout" - s.version = "0.2.10" + s.version = "0.2.11" s.summary = "Parallax and Sticky header done right using UICollectionViewLayout" s.description = <<-DESC UICollectionView are flexible and you can use supplementary views to From 3be25b61a913f7bbf88b329567b9f93edaac056c Mon Sep 17 00:00:00 2001 From: chrene Date: Mon, 12 Sep 2016 18:58:18 +0200 Subject: [PATCH 14/28] Add changelog and basic Carthage usage to README --- README.md | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 46be8e3..fe388e3 100644 --- a/README.md +++ b/README.md @@ -14,14 +14,19 @@ UICollectionViewLayout. [![Version](http://cocoapod-badges.herokuapp.com/v/CSStickyHeaderFlowLayout/badge.png)](http://cocoadocs.org/docsets/CSStickyHeaderFlowLayout) [![Platform](http://cocoapod-badges.herokuapp.com/p/CSStickyHeaderFlowLayout/badge.png)](http://cocoadocs.org/docsets/CSStickyHeaderFlowLayout) +### Cocoapods CSStickyHeaderFlowLayout is available through [CocoaPods](http://cocoapods.org), to install it simply add the following line to your Podfile: pod "CSStickyHeaderFlowLayout" -Alternatively, you can just drag the files from `CSStickyHeaderFlowLayout / Classes` into your own project. +### Carthage + +CSStickyHeaderFlowLayout is also available with Carthage. +Add `github "CSStickyHeaderFlowLayout/CSStickyHeaderFlowLayout"` to your Cartfile +Alternatively, you can just drag the files from `CSStickyHeaderFlowLayout / Classes` into your own project. ## Usage (Swift/Code) @@ -124,6 +129,7 @@ If you think this worths something, tip me a cup of coffee! (p.s. was trying out ## Updates +- 0.2.11: Add support for carthage. - 0.2.10: Fixed issue because attributes were not copied and datasource might have been niled From 4089359439bb2bb7862bea286ca2ac67cf00002d Mon Sep 17 00:00:00 2001 From: chrene Date: Mon, 12 Sep 2016 20:39:43 +0200 Subject: [PATCH 15/28] Revert "Change version in podspecs" This reverts commit d8f019517b89c05364b383cfc516044bbc7e785e. --- CSStickyHeaderFlowLayout.podspec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CSStickyHeaderFlowLayout.podspec b/CSStickyHeaderFlowLayout.podspec index 0ff3f67..b0f4e50 100644 --- a/CSStickyHeaderFlowLayout.podspec +++ b/CSStickyHeaderFlowLayout.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = "CSStickyHeaderFlowLayout" - s.version = "0.2.11" + s.version = "0.2.10" s.summary = "Parallax and Sticky header done right using UICollectionViewLayout" s.description = <<-DESC UICollectionView are flexible and you can use supplementary views to From 53fc9e02c8dc69380716db04003df8a7c477a779 Mon Sep 17 00:00:00 2001 From: chrene Date: Mon, 12 Sep 2016 20:41:01 +0200 Subject: [PATCH 16/28] Release 0.2.11 --- CSStickyHeaderFlowLayout.podspec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CSStickyHeaderFlowLayout.podspec b/CSStickyHeaderFlowLayout.podspec index b0f4e50..0ff3f67 100644 --- a/CSStickyHeaderFlowLayout.podspec +++ b/CSStickyHeaderFlowLayout.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = "CSStickyHeaderFlowLayout" - s.version = "0.2.10" + s.version = "0.2.11" s.summary = "Parallax and Sticky header done right using UICollectionViewLayout" s.description = <<-DESC UICollectionView are flexible and you can use supplementary views to From 9ce64762c9fcee22c7161038c3e0bf01ef6c9343 Mon Sep 17 00:00:00 2001 From: James Tang Date: Tue, 13 Sep 2016 12:05:01 +0800 Subject: [PATCH 17/28] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 151bfff..1ed307c 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ ## Contributors -For anyone who'd like to be a contributor to the repository, please ping me via [email](j@jamztang.com). +For anyone who'd like to be a contributor to the repository, please read the [Contribution Guideline](https://github.com/CSStickyHeaderFlowLayout/CSStickyHeaderFlowLayout/wiki/Contribution-Guidelines) --- From 0a036656b34e1c76ea2cb7fbaa36127d593b9abc Mon Sep 17 00:00:00 2001 From: Amir Ehsanijam Date: Sat, 4 Apr 2020 17:48:44 +0430 Subject: [PATCH 18/28] Change SWIFT_LANGUAGE_VERSION to Swift5 --- Project/SwiftDemo/SwiftDemo.xcodeproj/project.pbxproj | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/Project/SwiftDemo/SwiftDemo.xcodeproj/project.pbxproj b/Project/SwiftDemo/SwiftDemo.xcodeproj/project.pbxproj index 22189ee..6b43ec6 100644 --- a/Project/SwiftDemo/SwiftDemo.xcodeproj/project.pbxproj +++ b/Project/SwiftDemo/SwiftDemo.xcodeproj/project.pbxproj @@ -186,6 +186,7 @@ developmentRegion = English; hasScannedForEncodings = 0; knownRegions = ( + English, en, Base, ); @@ -303,6 +304,7 @@ ONLY_ACTIVE_ARCH = YES; SDKROOT = iphoneos; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 5.0; }; name = Debug; }; @@ -339,6 +341,7 @@ IPHONEOS_DEPLOYMENT_TARGET = 8.3; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = iphoneos; + SWIFT_VERSION = 5.0; VALIDATE_PRODUCT = YES; }; name = Release; @@ -353,6 +356,7 @@ PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_OBJC_BRIDGING_HEADER = "SwiftDemo/SwiftDemo-Bridging-Header.h"; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 5.0; }; name = Debug; }; @@ -365,6 +369,7 @@ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_OBJC_BRIDGING_HEADER = "SwiftDemo/SwiftDemo-Bridging-Header.h"; + SWIFT_VERSION = 5.0; }; name = Release; }; From 7181f548985cb1317468c35ec4d22dc5c6667234 Mon Sep 17 00:00:00 2001 From: Amir Ehsanijam Date: Sat, 4 Apr 2020 17:57:10 +0430 Subject: [PATCH 19/28] Perform changes XCode recommended --- .../CSStickyHeaderFlowLayoutCarthage.xcscheme | 12 +++---- .../xcshareddata/IDEWorkspaceChecks.plist | 8 +++++ .../SwiftDemo.xcodeproj/project.pbxproj | 33 +++++++++++++++++-- Project/SwiftDemo/SwiftDemo/Info.plist | 2 +- Project/SwiftDemo/SwiftDemoTests/Info.plist | 2 +- 5 files changed, 44 insertions(+), 13 deletions(-) create mode 100644 Project/CSStickyHeaderFlowLayoutDemo.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist diff --git a/Project/CSStickyHeaderFlowLayoutDemo.xcodeproj/xcshareddata/xcschemes/CSStickyHeaderFlowLayoutCarthage.xcscheme b/Project/CSStickyHeaderFlowLayoutDemo.xcodeproj/xcshareddata/xcschemes/CSStickyHeaderFlowLayoutCarthage.xcscheme index 543f210..8927e3b 100644 --- a/Project/CSStickyHeaderFlowLayoutDemo.xcodeproj/xcshareddata/xcschemes/CSStickyHeaderFlowLayoutCarthage.xcscheme +++ b/Project/CSStickyHeaderFlowLayoutDemo.xcodeproj/xcshareddata/xcschemes/CSStickyHeaderFlowLayoutCarthage.xcscheme @@ -1,6 +1,6 @@ @@ -29,8 +29,6 @@ shouldUseLaunchSchemeArgsEnv = "YES"> - - - - diff --git a/Project/CSStickyHeaderFlowLayoutDemo.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/Project/CSStickyHeaderFlowLayoutDemo.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000..18d9810 --- /dev/null +++ b/Project/CSStickyHeaderFlowLayoutDemo.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/Project/SwiftDemo/SwiftDemo.xcodeproj/project.pbxproj b/Project/SwiftDemo/SwiftDemo.xcodeproj/project.pbxproj index 6b43ec6..a30ce3f 100644 --- a/Project/SwiftDemo/SwiftDemo.xcodeproj/project.pbxproj +++ b/Project/SwiftDemo/SwiftDemo.xcodeproj/project.pbxproj @@ -169,7 +169,7 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 0700; - LastUpgradeCheck = 0630; + LastUpgradeCheck = 1110; ORGANIZATIONNAME = "James Tang"; TargetAttributes = { 1A4B2F2A1B56C513007F67CC = { @@ -183,10 +183,9 @@ }; buildConfigurationList = 1A4B2F261B56C513007F67CC /* Build configuration list for PBXProject "SwiftDemo" */; compatibilityVersion = "Xcode 3.2"; - developmentRegion = English; + developmentRegion = en; hasScannedForEncodings = 0; knownRegions = ( - English, en, Base, ); @@ -267,23 +266,35 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; CLANG_WARN_EMPTY_BODY = YES; CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; COPY_PHASE_STRIP = NO; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; GCC_C_LANGUAGE_STANDARD = gnu99; GCC_DYNAMIC_NO_PIC = NO; GCC_NO_COMMON_BLOCKS = YES; @@ -312,17 +323,28 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; CLANG_WARN_EMPTY_BODY = YES; CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; @@ -341,6 +363,7 @@ IPHONEOS_DEPLOYMENT_TARGET = 8.3; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = iphoneos; + SWIFT_COMPILATION_MODE = wholemodule; SWIFT_VERSION = 5.0; VALIDATE_PRODUCT = YES; }; @@ -353,6 +376,7 @@ CLANG_ENABLE_MODULES = YES; INFOPLIST_FILE = SwiftDemo/Info.plist; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = "com.jamztang.$(PRODUCT_NAME:rfc1034identifier)"; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_OBJC_BRIDGING_HEADER = "SwiftDemo/SwiftDemo-Bridging-Header.h"; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; @@ -367,6 +391,7 @@ CLANG_ENABLE_MODULES = YES; INFOPLIST_FILE = SwiftDemo/Info.plist; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = "com.jamztang.$(PRODUCT_NAME:rfc1034identifier)"; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_OBJC_BRIDGING_HEADER = "SwiftDemo/SwiftDemo-Bridging-Header.h"; SWIFT_VERSION = 5.0; @@ -387,6 +412,7 @@ ); INFOPLIST_FILE = SwiftDemoTests/Info.plist; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = "com.jamztang.$(PRODUCT_NAME:rfc1034identifier)"; PRODUCT_NAME = "$(TARGET_NAME)"; TEST_HOST = "$(BUILT_PRODUCTS_DIR)/SwiftDemo.app/SwiftDemo"; }; @@ -402,6 +428,7 @@ ); INFOPLIST_FILE = SwiftDemoTests/Info.plist; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = "com.jamztang.$(PRODUCT_NAME:rfc1034identifier)"; PRODUCT_NAME = "$(TARGET_NAME)"; TEST_HOST = "$(BUILT_PRODUCTS_DIR)/SwiftDemo.app/SwiftDemo"; }; diff --git a/Project/SwiftDemo/SwiftDemo/Info.plist b/Project/SwiftDemo/SwiftDemo/Info.plist index 83351f2..d39a4da 100644 --- a/Project/SwiftDemo/SwiftDemo/Info.plist +++ b/Project/SwiftDemo/SwiftDemo/Info.plist @@ -7,7 +7,7 @@ CFBundleExecutable $(EXECUTABLE_NAME) CFBundleIdentifier - com.jamztang.$(PRODUCT_NAME:rfc1034identifier) + $(PRODUCT_BUNDLE_IDENTIFIER) CFBundleInfoDictionaryVersion 6.0 CFBundleName diff --git a/Project/SwiftDemo/SwiftDemoTests/Info.plist b/Project/SwiftDemo/SwiftDemoTests/Info.plist index 609467f..ba72822 100644 --- a/Project/SwiftDemo/SwiftDemoTests/Info.plist +++ b/Project/SwiftDemo/SwiftDemoTests/Info.plist @@ -7,7 +7,7 @@ CFBundleExecutable $(EXECUTABLE_NAME) CFBundleIdentifier - com.jamztang.$(PRODUCT_NAME:rfc1034identifier) + $(PRODUCT_BUNDLE_IDENTIFIER) CFBundleInfoDictionaryVersion 6.0 CFBundleName From edd970be3263276be4f954165e9cde5c4023a29c Mon Sep 17 00:00:00 2001 From: Amir Ehsanijam Date: Sat, 4 Apr 2020 18:00:37 +0430 Subject: [PATCH 20/28] Update app delegate UIApplication delegate methods and removes extras --- Project/SwiftDemo/SwiftDemo/AppDelegate.swift | 29 ++----------------- 1 file changed, 2 insertions(+), 27 deletions(-) diff --git a/Project/SwiftDemo/SwiftDemo/AppDelegate.swift b/Project/SwiftDemo/SwiftDemo/AppDelegate.swift index e31cb63..dd57121 100644 --- a/Project/SwiftDemo/SwiftDemo/AppDelegate.swift +++ b/Project/SwiftDemo/SwiftDemo/AppDelegate.swift @@ -13,42 +13,17 @@ class AppDelegate: UIResponder, UIApplicationDelegate { var window: UIWindow? - - func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { + func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil) -> Bool { // Override point for customization after application launch. let stickyHeaderFlowLayout = CSStickyHeaderFlowLayout() let collectionViewController = CollectionViewController(collectionViewLayout: stickyHeaderFlowLayout) - let window = UIWindow(frame: UIScreen.mainScreen().bounds) + let window = UIWindow(frame: UIScreen.main.bounds) window.rootViewController = collectionViewController window.makeKeyAndVisible() self.window = window return true } - - func applicationWillResignActive(application: UIApplication) { - // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state. - // Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game. - } - - func applicationDidEnterBackground(application: UIApplication) { - // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later. - // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits. - } - - func applicationWillEnterForeground(application: UIApplication) { - // Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background. - } - - func applicationDidBecomeActive(application: UIApplication) { - // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface. - } - - func applicationWillTerminate(application: UIApplication) { - // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:. - } - - } From bb4ccd1e0928b441c1f15402c49ee37a7b9d1fd4 Mon Sep 17 00:00:00 2001 From: Amir Ehsanijam Date: Sat, 4 Apr 2020 18:03:01 +0430 Subject: [PATCH 21/28] Update CollectionViewSectionHeader labelt text to UICollectionView.elementKindSectionHeader --- Project/SwiftDemo/SwiftDemo/CollectionViewSectionHeader.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Project/SwiftDemo/SwiftDemo/CollectionViewSectionHeader.swift b/Project/SwiftDemo/SwiftDemo/CollectionViewSectionHeader.swift index d160ed8..d91febf 100644 --- a/Project/SwiftDemo/SwiftDemo/CollectionViewSectionHeader.swift +++ b/Project/SwiftDemo/SwiftDemo/CollectionViewSectionHeader.swift @@ -24,6 +24,6 @@ class CollectionViewSectionHeader: UICollectionReusableView { func commonInit() { self.addSubview(label) label.frame = self.bounds - label.text = UICollectionElementKindSectionHeader + label.text = UICollectionView.elementKindSectionHeader } } From 0bef830356b313774c6468cf22e8cf37c49d3da0 Mon Sep 17 00:00:00 2001 From: Amir Ehsanijam Date: Sat, 4 Apr 2020 18:05:11 +0430 Subject: [PATCH 22/28] Update syntax for CGFrame, UIColor and AutoresizingMask --- Project/SwiftDemo/SwiftDemo/CollectionViewCell.swift | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Project/SwiftDemo/SwiftDemo/CollectionViewCell.swift b/Project/SwiftDemo/SwiftDemo/CollectionViewCell.swift index 220133a..dc76a04 100644 --- a/Project/SwiftDemo/SwiftDemo/CollectionViewCell.swift +++ b/Project/SwiftDemo/SwiftDemo/CollectionViewCell.swift @@ -21,11 +21,11 @@ class CollectionViewCell: UICollectionViewCell { override init(frame: CGRect) { super.init(frame: frame) - self.backgroundColor = UIColor.whiteColor() + self.backgroundColor = UIColor.white - let bounds = CGRectMake(0, 0, CGRectGetMaxX(frame), CGRectGetMaxY(frame)) + let bounds = CGRect(x: 0, y: 0, width: frame.maxX, height: frame.maxY) let label = UILabel(frame: bounds) - label.autoresizingMask = [UIViewAutoresizing.FlexibleHeight, UIViewAutoresizing.FlexibleWidth] + label.autoresizingMask = [UIView.AutoresizingMask.flexibleHeight, UIView.AutoresizingMask.flexibleWidth] self.textLabel = label self.addSubview(label) } From 89b07c657bc21ee9020a9c87874d3addcb35ab0a Mon Sep 17 00:00:00 2001 From: Amir Ehsanijam Date: Sat, 4 Apr 2020 18:10:55 +0430 Subject: [PATCH 23/28] Update CollectionParallaxHeader.swift syntax for CGRect, UIColor and UIView.ContentMode --- Project/SwiftDemo/SwiftDemo/CollectionParallaxHeader.swift | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Project/SwiftDemo/SwiftDemo/CollectionParallaxHeader.swift b/Project/SwiftDemo/SwiftDemo/CollectionParallaxHeader.swift index 60fc7e9..9b9e7a9 100644 --- a/Project/SwiftDemo/SwiftDemo/CollectionParallaxHeader.swift +++ b/Project/SwiftDemo/SwiftDemo/CollectionParallaxHeader.swift @@ -15,14 +15,14 @@ class CollectionParallaxHeader: UICollectionReusableView { override init(frame: CGRect) { super.init(frame: frame) - self.backgroundColor = UIColor.lightGrayColor() + self.backgroundColor = UIColor.lightGray self.clipsToBounds = true - let bounds = CGRectMake(0, 0, CGRectGetMaxX(frame), CGRectGetMaxY(frame)) + let bounds = CGRect(x: 0, y: 0, width: frame.maxX, height: frame.maxY) let imageView = UIImageView(frame: bounds) - imageView.contentMode = UIViewContentMode.ScaleAspectFill + imageView.contentMode = UIView.ContentMode.scaleAspectFill imageView.image = UIImage(named: "success-baby") self.imageView = imageView self.addSubview(imageView) From 85fc4f702a9e6ba1adbeb013e14fac346a31207f Mon Sep 17 00:00:00 2001 From: Amir Ehsanijam Date: Sat, 4 Apr 2020 18:13:59 +0430 Subject: [PATCH 24/28] Update CollectionViewController.viewDidLoad() syntax for register cells --- .../SwiftDemo/CollectionViewController.swift | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/Project/SwiftDemo/SwiftDemo/CollectionViewController.swift b/Project/SwiftDemo/SwiftDemo/CollectionViewController.swift index 9ee41f4..8fec4e8 100644 --- a/Project/SwiftDemo/SwiftDemo/CollectionViewController.swift +++ b/Project/SwiftDemo/SwiftDemo/CollectionViewController.swift @@ -20,19 +20,19 @@ class CollectionViewController: UICollectionViewController { super.viewDidLoad() self.collectionView?.alwaysBounceVertical = true - self.view.backgroundColor = UIColor.whiteColor() + self.view.backgroundColor = UIColor.white // Setup Cell - self.collectionView?.registerClass(CollectionViewCell.self, forCellWithReuseIdentifier: "cell") - self.layout?.itemSize = CGSizeMake(self.view.frame.size.width, 44) + self.collectionView?.register(CollectionViewCell.self, forCellWithReuseIdentifier: "cell") + self.layout?.itemSize = CGSize(width: self.view.frame.size.width, height: 44) // Setup Header - self.collectionView?.registerClass(CollectionParallaxHeader.self, forSupplementaryViewOfKind: CSStickyHeaderParallaxHeader, withReuseIdentifier: "parallaxHeader") - self.layout?.parallaxHeaderReferenceSize = CGSizeMake(self.view.frame.size.width, 100) + self.collectionView?.register(CollectionParallaxHeader.self, forSupplementaryViewOfKind: CSStickyHeaderParallaxHeader, withReuseIdentifier: "parallaxHeader") + self.layout?.parallaxHeaderReferenceSize = CGSize(width: self.view.frame.size.width, height: 100) // Setup Section Header - self.collectionView?.registerClass(CollectionViewSectionHeader.self, forSupplementaryViewOfKind: UICollectionElementKindSectionHeader, withReuseIdentifier: "sectionHeader") - self.layout?.headerReferenceSize = CGSizeMake(320, 40) + self.collectionView?.register(CollectionViewSectionHeader.self, forSupplementaryViewOfKind: UICollectionView.elementKindSectionHeader, withReuseIdentifier: "sectionHeader") + self.layout?.headerReferenceSize = CGSize(width: 320, height: 40) } // Cells From e8b58e9decfa7cfcd90e1a74873e08e878aaa4ae Mon Sep 17 00:00:00 2001 From: Amir Ehsanijam Date: Sat, 4 Apr 2020 18:16:13 +0430 Subject: [PATCH 25/28] Update CollectionViewController Delegate and DataSource methods --- .../SwiftDemo/CollectionViewController.swift | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/Project/SwiftDemo/SwiftDemo/CollectionViewController.swift b/Project/SwiftDemo/SwiftDemo/CollectionViewController.swift index 8fec4e8..ab4e658 100644 --- a/Project/SwiftDemo/SwiftDemo/CollectionViewController.swift +++ b/Project/SwiftDemo/SwiftDemo/CollectionViewController.swift @@ -37,27 +37,27 @@ class CollectionViewController: UICollectionViewController { // Cells - override func collectionView(collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int { + override func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int { return self.items.count } - override func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell { + override func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell { - let cell = collectionView.dequeueReusableCellWithReuseIdentifier("cell", forIndexPath: indexPath) as! CollectionViewCell + let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "cell", for: indexPath) as! CollectionViewCell cell.text = self.items[indexPath.row] return cell } // Parallax Header - override func collectionView(collectionView: UICollectionView, viewForSupplementaryElementOfKind kind: String, atIndexPath indexPath: NSIndexPath) -> UICollectionReusableView { + override func collectionView(_ collectionView: UICollectionView, viewForSupplementaryElementOfKind kind: String, at indexPath: IndexPath) -> UICollectionReusableView { if kind == CSStickyHeaderParallaxHeader { - let view = collectionView.dequeueReusableSupplementaryViewOfKind(kind, withReuseIdentifier: "parallaxHeader", forIndexPath: indexPath) + let view = collectionView.dequeueReusableSupplementaryView(ofKind: kind, withReuseIdentifier: "parallaxHeader", for: indexPath) return view - } else if kind == UICollectionElementKindSectionHeader { - let view = collectionView.dequeueReusableSupplementaryViewOfKind(kind, withReuseIdentifier: "sectionHeader", forIndexPath: indexPath) - view.backgroundColor = UIColor.lightGrayColor() + } else if kind == UICollectionView.elementKindSectionHeader { + let view = collectionView.dequeueReusableSupplementaryView(ofKind: kind, withReuseIdentifier: "sectionHeader", for: indexPath) + view.backgroundColor = UIColor.lightGray return view } From 505cbd1791a540aa8fdb84c4daa490b5ac042d23 Mon Sep 17 00:00:00 2001 From: Amir Ehsanijam Date: Sat, 4 Apr 2020 18:22:31 +0430 Subject: [PATCH 26/28] Set collectionView.backroundColor to groupTableViewBackground --- Project/SwiftDemo/SwiftDemo/CollectionViewController.swift | 1 + 1 file changed, 1 insertion(+) diff --git a/Project/SwiftDemo/SwiftDemo/CollectionViewController.swift b/Project/SwiftDemo/SwiftDemo/CollectionViewController.swift index ab4e658..0a063ae 100644 --- a/Project/SwiftDemo/SwiftDemo/CollectionViewController.swift +++ b/Project/SwiftDemo/SwiftDemo/CollectionViewController.swift @@ -20,6 +20,7 @@ class CollectionViewController: UICollectionViewController { super.viewDidLoad() self.collectionView?.alwaysBounceVertical = true + self.collectionView.backgroundColor = .groupTableViewBackground self.view.backgroundColor = UIColor.white // Setup Cell From ae2e9ccc2af30edd42f78c14cc139e34a7a4efcf Mon Sep 17 00:00:00 2001 From: Amir Ehsanijam Date: Sat, 4 Apr 2020 19:13:07 +0430 Subject: [PATCH 27/28] Shared xcshareddata --- .../CSStickyHeaderFlowLayout.xcscheme | 6 +- .../xcshareddata/xcschemes/SwiftDemo.xcscheme | 88 +++++++++++++++++++ 2 files changed, 89 insertions(+), 5 deletions(-) create mode 100644 Project/SwiftDemo/SwiftDemo.xcodeproj/xcshareddata/xcschemes/SwiftDemo.xcscheme diff --git a/Project/Pods/Pods.xcodeproj/xcshareddata/xcschemes/CSStickyHeaderFlowLayout.xcscheme b/Project/Pods/Pods.xcodeproj/xcshareddata/xcschemes/CSStickyHeaderFlowLayout.xcscheme index 0c73e58..10ff8e7 100644 --- a/Project/Pods/Pods.xcodeproj/xcshareddata/xcschemes/CSStickyHeaderFlowLayout.xcscheme +++ b/Project/Pods/Pods.xcodeproj/xcshareddata/xcschemes/CSStickyHeaderFlowLayout.xcscheme @@ -1,6 +1,6 @@ - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From 94aafd56b34b1b2aa6ad5d0fe80e75a012d5e7a4 Mon Sep 17 00:00:00 2001 From: Amir Ehsanijam Date: Tue, 7 Apr 2020 11:19:29 +0430 Subject: [PATCH 28/28] Update podspec to version 0.2.12 --- CSStickyHeaderFlowLayout.podspec | 2 +- README.md | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/CSStickyHeaderFlowLayout.podspec b/CSStickyHeaderFlowLayout.podspec index 0ff3f67..a6ec95b 100644 --- a/CSStickyHeaderFlowLayout.podspec +++ b/CSStickyHeaderFlowLayout.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = "CSStickyHeaderFlowLayout" - s.version = "0.2.11" + s.version = "0.2.12" s.summary = "Parallax and Sticky header done right using UICollectionViewLayout" s.description = <<-DESC UICollectionView are flexible and you can use supplementary views to diff --git a/README.md b/README.md index 1ed307c..79dc42e 100644 --- a/README.md +++ b/README.md @@ -122,6 +122,8 @@ Run the project examples and it'll shows you exactly how you achieve different e ![](http://f.cl.ly/items/313D2n3R0H0e0x090B3X/different-header.jpeg) ## Updates +- 0.2.12: Add Swift 5 Demo + - 0.2.11: Add support for carthage. - 0.2.10: Fixed issue because attributes were not copied and datasource might have been niled