diff --git a/CHTCollectionViewWaterfallLayout.podspec b/CHTCollectionViewWaterfallLayout.podspec index 6d29927..161c8a3 100644 --- a/CHTCollectionViewWaterfallLayout.podspec +++ b/CHTCollectionViewWaterfallLayout.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = "CHTCollectionViewWaterfallLayout" - s.version = "0.9.4" + s.version = "0.9.5" s.summary = "The waterfall (i.e., Pinterest-like) layout for UICollectionView." s.homepage = "https://github.com/chiahsien/CHTCollectionViewWaterfallLayout" s.screenshots = "https://raw.github.com/chiahsien/UICollectionViewWaterfallLayout/master/Screenshots/2-columns.png" diff --git a/CHTCollectionViewWaterfallLayout.swift b/CHTCollectionViewWaterfallLayout.swift index 4c0a17f..cdea45b 100755 --- a/CHTCollectionViewWaterfallLayout.swift +++ b/CHTCollectionViewWaterfallLayout.swift @@ -9,7 +9,7 @@ import Foundation import UIKit -@objc protocol CHTCollectionViewDelegateWaterfallLayout: UICollectionViewDelegate{ +@objc public protocol CHTCollectionViewDelegateWaterfallLayout: UICollectionViewDelegate{ func collectionView (collectionView: UICollectionView,layout collectionViewLayout: UICollectionViewLayout, sizeForItemAtIndexPath indexPath: NSIndexPath) -> CGSize @@ -30,68 +30,67 @@ import UIKit columnCountForSection section: NSInteger) -> NSInteger } -enum CHTCollectionViewWaterfallLayoutItemRenderDirection : NSInteger{ +public enum CHTCollectionViewWaterfallLayoutItemRenderDirection : NSInteger{ case CHTCollectionViewWaterfallLayoutItemRenderDirectionShortestFirst case CHTCollectionViewWaterfallLayoutItemRenderDirectionLeftToRight case CHTCollectionViewWaterfallLayoutItemRenderDirectionRightToLeft } -class CHTCollectionViewWaterfallLayout : UICollectionViewLayout{ - let CHTCollectionElementKindSectionHeader = "CHTCollectionElementKindSectionHeader" - let CHTCollectionElementKindSectionFooter = "CHTCollectionElementKindSectionFooter" - - var columnCount : NSInteger{ +public let CHTCollectionElementKindSectionHeader = "CHTCollectionElementKindSectionHeader" +public let CHTCollectionElementKindSectionFooter = "CHTCollectionElementKindSectionFooter" + +public class CHTCollectionViewWaterfallLayout : UICollectionViewLayout{ + public var columnCount : NSInteger{ didSet{ invalidateLayout() }} - var minimumColumnSpacing : CGFloat{ + public var minimumColumnSpacing : CGFloat{ didSet{ invalidateLayout() }} - var minimumInteritemSpacing : CGFloat{ + public var minimumInteritemSpacing : CGFloat{ didSet{ invalidateLayout() }} - var headerHeight : CGFloat{ + public var headerHeight : CGFloat{ didSet{ invalidateLayout() }} - var footerHeight : CGFloat{ + public var footerHeight : CGFloat{ didSet{ invalidateLayout() }} - var sectionInset : UIEdgeInsets{ + public var sectionInset : UIEdgeInsets{ didSet{ invalidateLayout() }} - var itemRenderDirection : CHTCollectionViewWaterfallLayoutItemRenderDirection{ + public var itemRenderDirection : CHTCollectionViewWaterfallLayoutItemRenderDirection{ didSet{ invalidateLayout() }} - -// private property and method above. - weak var delegate : CHTCollectionViewDelegateWaterfallLayout?{ + public weak var delegate : CHTCollectionViewDelegateWaterfallLayout?{ get{ return self.collectionView!.delegate as? CHTCollectionViewDelegateWaterfallLayout } } - var columnHeights : NSMutableArray - var sectionItemAttributes : NSMutableArray - var allItemAttributes : NSMutableArray - var headersAttributes : NSMutableDictionary - var footersAttributes : NSMutableDictionary - var unionRects : NSMutableArray - let unionSize = 20 - override init(){ + private var columnHeights : NSMutableArray + private var sectionItemAttributes : NSMutableArray + private var allItemAttributes : NSMutableArray + private var headersAttributes : NSMutableDictionary + private var footersAttributes : NSMutableDictionary + private var unionRects : NSMutableArray + private let unionSize = 20 + + override public init(){ self.headerHeight = 0.0 self.footerHeight = 0.0 self.columnCount = 2 @@ -111,7 +110,7 @@ class CHTCollectionViewWaterfallLayout : UICollectionViewLayout{ super.init() } - required init?(coder aDecoder: NSCoder) { + required public init?(coder aDecoder: NSCoder) { fatalError("init(coder:) has not been implemented") } @@ -136,7 +135,7 @@ class CHTCollectionViewWaterfallLayout : UICollectionViewLayout{ return floor((width - (spaceColumCount*self.minimumColumnSpacing)) / CGFloat(columnCount)) } - override func prepareLayout(){ + override public func prepareLayout(){ super.prepareLayout() let numberOfSections = self.collectionView!.numberOfSections() @@ -280,7 +279,7 @@ class CHTCollectionViewWaterfallLayout : UICollectionViewLayout{ } } - override func collectionViewContentSize() -> CGSize{ + override public func collectionViewContentSize() -> CGSize{ let numberOfSections = self.collectionView!.numberOfSections() if numberOfSections == 0{ return CGSizeZero @@ -292,7 +291,7 @@ class CHTCollectionViewWaterfallLayout : UICollectionViewLayout{ return contentSize } - override func layoutAttributesForItemAtIndexPath(indexPath: NSIndexPath) -> UICollectionViewLayoutAttributes? { + override public func layoutAttributesForItemAtIndexPath(indexPath: NSIndexPath) -> UICollectionViewLayoutAttributes? { if indexPath.section >= self.sectionItemAttributes.count { return nil } @@ -304,7 +303,7 @@ class CHTCollectionViewWaterfallLayout : UICollectionViewLayout{ return list.objectAtIndex(indexPath.item) as? UICollectionViewLayoutAttributes } - override func layoutAttributesForSupplementaryViewOfKind(elementKind: String, atIndexPath indexPath: NSIndexPath) -> UICollectionViewLayoutAttributes{ + override public func layoutAttributesForSupplementaryViewOfKind(elementKind: String, atIndexPath indexPath: NSIndexPath) -> UICollectionViewLayoutAttributes{ var attribute = UICollectionViewLayoutAttributes() if elementKind == CHTCollectionElementKindSectionHeader{ attribute = self.headersAttributes.objectForKey(indexPath.section) as! UICollectionViewLayoutAttributes @@ -314,7 +313,7 @@ class CHTCollectionViewWaterfallLayout : UICollectionViewLayout{ return attribute } - override func layoutAttributesForElementsInRect(rect: CGRect) -> [UICollectionViewLayoutAttributes]? { + override public func layoutAttributesForElementsInRect(rect: CGRect) -> [UICollectionViewLayoutAttributes]? { var begin = 0, end = self.unionRects.count let attrs = NSMutableArray() @@ -344,7 +343,7 @@ class CHTCollectionViewWaterfallLayout : UICollectionViewLayout{ return NSArray(array: attrs) as? [UICollectionViewLayoutAttributes] } - override func shouldInvalidateLayoutForBoundsChange (newBounds : CGRect) -> Bool { + override public func shouldInvalidateLayoutForBoundsChange (newBounds : CGRect) -> Bool { let oldBounds = self.collectionView!.bounds if CGRectGetWidth(newBounds) != CGRectGetWidth(oldBounds){ return true diff --git a/CHTCollectionViewWaterfallLayout/CHTCollectionViewWaterfallLayout.xcodeproj/project.pbxproj b/CHTCollectionViewWaterfallLayout/CHTCollectionViewWaterfallLayout.xcodeproj/project.pbxproj new file mode 100644 index 0000000..75c6c22 --- /dev/null +++ b/CHTCollectionViewWaterfallLayout/CHTCollectionViewWaterfallLayout.xcodeproj/project.pbxproj @@ -0,0 +1,289 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 46; + objects = { + +/* Begin PBXBuildFile section */ + 30CCE20D1C9A8F7500429C17 /* CHTCollectionViewWaterfallLayout.h in Headers */ = {isa = PBXBuildFile; fileRef = 30CCE20C1C9A8F7500429C17 /* CHTCollectionViewWaterfallLayout.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 30CCE2161C9A8F7E00429C17 /* CHTCollectionViewWaterfallLayout.h in Headers */ = {isa = PBXBuildFile; fileRef = 30CCE2141C9A8F7E00429C17 /* CHTCollectionViewWaterfallLayout.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 30CCE2171C9A8F7E00429C17 /* CHTCollectionViewWaterfallLayout.m in Sources */ = {isa = PBXBuildFile; fileRef = 30CCE2151C9A8F7E00429C17 /* CHTCollectionViewWaterfallLayout.m */; }; +/* End PBXBuildFile section */ + +/* Begin PBXFileReference section */ + 30CCE2091C9A8F7500429C17 /* CHTCollectionViewWaterfallLayout.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = CHTCollectionViewWaterfallLayout.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 30CCE20C1C9A8F7500429C17 /* CHTCollectionViewWaterfallLayout.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = CHTCollectionViewWaterfallLayout.h; sourceTree = ""; }; + 30CCE20E1C9A8F7500429C17 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 30CCE2141C9A8F7E00429C17 /* CHTCollectionViewWaterfallLayout.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CHTCollectionViewWaterfallLayout.h; path = ../../CHTCollectionViewWaterfallLayout.h; sourceTree = ""; }; + 30CCE2151C9A8F7E00429C17 /* CHTCollectionViewWaterfallLayout.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = CHTCollectionViewWaterfallLayout.m; path = ../../CHTCollectionViewWaterfallLayout.m; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 30CCE2051C9A8F7500429C17 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 30CCE1FF1C9A8F7500429C17 = { + isa = PBXGroup; + children = ( + 30CCE20B1C9A8F7500429C17 /* CHTCollectionViewWaterfallLayout */, + 30CCE20A1C9A8F7500429C17 /* Products */, + ); + sourceTree = ""; + }; + 30CCE20A1C9A8F7500429C17 /* Products */ = { + isa = PBXGroup; + children = ( + 30CCE2091C9A8F7500429C17 /* CHTCollectionViewWaterfallLayout.framework */, + ); + name = Products; + sourceTree = ""; + }; + 30CCE20B1C9A8F7500429C17 /* CHTCollectionViewWaterfallLayout */ = { + isa = PBXGroup; + children = ( + 30CCE2141C9A8F7E00429C17 /* CHTCollectionViewWaterfallLayout.h */, + 30CCE2151C9A8F7E00429C17 /* CHTCollectionViewWaterfallLayout.m */, + 30CCE20C1C9A8F7500429C17 /* CHTCollectionViewWaterfallLayout.h */, + 30CCE20E1C9A8F7500429C17 /* Info.plist */, + ); + path = CHTCollectionViewWaterfallLayout; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXHeadersBuildPhase section */ + 30CCE2061C9A8F7500429C17 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 30CCE2161C9A8F7E00429C17 /* CHTCollectionViewWaterfallLayout.h in Headers */, + 30CCE20D1C9A8F7500429C17 /* CHTCollectionViewWaterfallLayout.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXHeadersBuildPhase section */ + +/* Begin PBXNativeTarget section */ + 30CCE2081C9A8F7500429C17 /* CHTCollectionViewWaterfallLayout */ = { + isa = PBXNativeTarget; + buildConfigurationList = 30CCE2111C9A8F7500429C17 /* Build configuration list for PBXNativeTarget "CHTCollectionViewWaterfallLayout" */; + buildPhases = ( + 30CCE2041C9A8F7500429C17 /* Sources */, + 30CCE2051C9A8F7500429C17 /* Frameworks */, + 30CCE2061C9A8F7500429C17 /* Headers */, + 30CCE2071C9A8F7500429C17 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = CHTCollectionViewWaterfallLayout; + productName = CHTCollectionViewWaterfallLayout; + productReference = 30CCE2091C9A8F7500429C17 /* CHTCollectionViewWaterfallLayout.framework */; + productType = "com.apple.product-type.framework"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 30CCE2001C9A8F7500429C17 /* Project object */ = { + isa = PBXProject; + attributes = { + LastUpgradeCheck = 0720; + TargetAttributes = { + 30CCE2081C9A8F7500429C17 = { + CreatedOnToolsVersion = 7.2.1; + }; + }; + }; + buildConfigurationList = 30CCE2031C9A8F7500429C17 /* Build configuration list for PBXProject "CHTCollectionViewWaterfallLayout" */; + compatibilityVersion = "Xcode 3.2"; + developmentRegion = English; + hasScannedForEncodings = 0; + knownRegions = ( + en, + ); + mainGroup = 30CCE1FF1C9A8F7500429C17; + productRefGroup = 30CCE20A1C9A8F7500429C17 /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 30CCE2081C9A8F7500429C17 /* CHTCollectionViewWaterfallLayout */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 30CCE2071C9A8F7500429C17 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 30CCE2041C9A8F7500429C17 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 30CCE2171C9A8F7E00429C17 /* CHTCollectionViewWaterfallLayout.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin XCBuildConfiguration section */ + 30CCE20F1C9A8F7500429C17 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + CURRENT_PROJECT_VERSION = 1; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 9.2; + MTL_ENABLE_DEBUG_INFO = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = iphoneos; + TARGETED_DEVICE_FAMILY = "1,2"; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Debug; + }; + 30CCE2101C9A8F7500429C17 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + CURRENT_PROJECT_VERSION = 1; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 9.2; + MTL_ENABLE_DEBUG_INFO = NO; + SDKROOT = iphoneos; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Release; + }; + 30CCE2121C9A8F7500429C17 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + INFOPLIST_FILE = CHTCollectionViewWaterfallLayout/Info.plist; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = com.magnus.CHTCollectionViewWaterfallLayout; + PRODUCT_NAME = "$(TARGET_NAME)"; + SKIP_INSTALL = YES; + }; + name = Debug; + }; + 30CCE2131C9A8F7500429C17 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + INFOPLIST_FILE = CHTCollectionViewWaterfallLayout/Info.plist; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = com.magnus.CHTCollectionViewWaterfallLayout; + PRODUCT_NAME = "$(TARGET_NAME)"; + SKIP_INSTALL = YES; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 30CCE2031C9A8F7500429C17 /* Build configuration list for PBXProject "CHTCollectionViewWaterfallLayout" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 30CCE20F1C9A8F7500429C17 /* Debug */, + 30CCE2101C9A8F7500429C17 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 30CCE2111C9A8F7500429C17 /* Build configuration list for PBXNativeTarget "CHTCollectionViewWaterfallLayout" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 30CCE2121C9A8F7500429C17 /* Debug */, + 30CCE2131C9A8F7500429C17 /* Release */, + ); + defaultConfigurationIsVisible = 0; + }; +/* End XCConfigurationList section */ + }; + rootObject = 30CCE2001C9A8F7500429C17 /* Project object */; +} diff --git a/CHTCollectionViewWaterfallLayout/CHTCollectionViewWaterfallLayout.xcodeproj/xcshareddata/xcschemes/CHTCollectionViewWaterfallLayout.xcscheme b/CHTCollectionViewWaterfallLayout/CHTCollectionViewWaterfallLayout.xcodeproj/xcshareddata/xcschemes/CHTCollectionViewWaterfallLayout.xcscheme new file mode 100644 index 0000000..b439d34 --- /dev/null +++ b/CHTCollectionViewWaterfallLayout/CHTCollectionViewWaterfallLayout.xcodeproj/xcshareddata/xcschemes/CHTCollectionViewWaterfallLayout.xcscheme @@ -0,0 +1,80 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/CHTCollectionViewWaterfallLayout/CHTCollectionViewWaterfallLayout/CHTCollectionViewWaterfallLayout.h b/CHTCollectionViewWaterfallLayout/CHTCollectionViewWaterfallLayout/CHTCollectionViewWaterfallLayout.h new file mode 100644 index 0000000..b043360 --- /dev/null +++ b/CHTCollectionViewWaterfallLayout/CHTCollectionViewWaterfallLayout/CHTCollectionViewWaterfallLayout.h @@ -0,0 +1,20 @@ +// +// CHTCollectionViewWaterfallLayout.h +// CHTCollectionViewWaterfallLayout +// +// Created by Jake Marsh on 3/17/16. +// +// + +#import + +//! Project version number for CHTCollectionViewWaterfallLayout. +FOUNDATION_EXPORT double CHTCollectionViewWaterfallLayoutVersionNumber; + +//! Project version string for CHTCollectionViewWaterfallLayout. +FOUNDATION_EXPORT const unsigned char CHTCollectionViewWaterfallLayoutVersionString[]; + +// In this header, you should import all the public headers of your framework using statements like #import + + +#import \ No newline at end of file diff --git a/CHTCollectionViewWaterfallLayout/CHTCollectionViewWaterfallLayout/Info.plist b/CHTCollectionViewWaterfallLayout/CHTCollectionViewWaterfallLayout/Info.plist new file mode 100644 index 0000000..d3de8ee --- /dev/null +++ b/CHTCollectionViewWaterfallLayout/CHTCollectionViewWaterfallLayout/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/README.md b/README.md index 257ab1b..35cfe70 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,7 @@ CHTCollectionViewWaterfallLayout -=============================== +================================ +[![Carthage compatible](https://img.shields.io/badge/Carthage-compatible-4BC51D.svg?style=flat)](https://github.com/Carthage/Carthage) [![Version](https://cocoapod-badges.herokuapp.com/v/CHTCollectionViewWaterfallLayout/badge.png)](http://cocoadocs.org/docsets/CHTCollectionViewWaterfallLayout) [![Platform](https://cocoapod-badges.herokuapp.com/p/CHTCollectionViewWaterfallLayout/badge.png)](http://cocoadocs.org/docsets/CHTCollectionViewWaterfallLayout) [![Build Status](https://travis-ci.org/chiahsien/CHTCollectionViewWaterfallLayout.svg?branch=develop)](https://travis-ci.org/chiahsien/CHTCollectionViewWaterfallLayout)