Skip to content

Commit 8852f99

Browse files
committed
add demo and images
1 parent 8fcdeb5 commit 8852f99

File tree

19 files changed

+1052
-0
lines changed

19 files changed

+1052
-0
lines changed
Lines changed: 339 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,339 @@
1+
// !$*UTF8*$!
2+
{
3+
archiveVersion = 1;
4+
classes = {
5+
};
6+
objectVersion = 48;
7+
objects = {
8+
9+
/* Begin PBXBuildFile section */
10+
F39370EB1FF4ECB400969B22 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = F39370EA1FF4ECB400969B22 /* AppDelegate.m */; };
11+
F39370EE1FF4ECB400969B22 /* ViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = F39370ED1FF4ECB400969B22 /* ViewController.m */; };
12+
F39370F31FF4ECB400969B22 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = F39370F21FF4ECB400969B22 /* Assets.xcassets */; };
13+
F39370F61FF4ECB400969B22 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = F39370F41FF4ECB400969B22 /* LaunchScreen.storyboard */; };
14+
F39370F91FF4ECB400969B22 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = F39370F81FF4ECB400969B22 /* main.m */; };
15+
F39371021FF4ED4E00969B22 /* JQCollectionViewAlignLayout.m in Sources */ = {isa = PBXBuildFile; fileRef = F39371011FF4ED4E00969B22 /* JQCollectionViewAlignLayout.m */; };
16+
F3D5FCF71FFB240400238045 /* AlignmentCollectionHeaderView.m in Sources */ = {isa = PBXBuildFile; fileRef = F3D5FCF61FFB240400238045 /* AlignmentCollectionHeaderView.m */; };
17+
/* End PBXBuildFile section */
18+
19+
/* Begin PBXFileReference section */
20+
F39370E61FF4ECB400969B22 /* JQCollectionViewAlignLayout-Demo.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "JQCollectionViewAlignLayout-Demo.app"; sourceTree = BUILT_PRODUCTS_DIR; };
21+
F39370E91FF4ECB400969B22 /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = "<group>"; };
22+
F39370EA1FF4ECB400969B22 /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = "<group>"; };
23+
F39370EC1FF4ECB400969B22 /* ViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ViewController.h; sourceTree = "<group>"; };
24+
F39370ED1FF4ECB400969B22 /* ViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ViewController.m; sourceTree = "<group>"; };
25+
F39370F21FF4ECB400969B22 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
26+
F39370F51FF4ECB400969B22 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; };
27+
F39370F71FF4ECB400969B22 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
28+
F39370F81FF4ECB400969B22 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
29+
F39371001FF4ED4E00969B22 /* JQCollectionViewAlignLayout.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = JQCollectionViewAlignLayout.h; sourceTree = "<group>"; };
30+
F39371011FF4ED4E00969B22 /* JQCollectionViewAlignLayout.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = JQCollectionViewAlignLayout.m; sourceTree = "<group>"; };
31+
F3D5FCF51FFB240400238045 /* AlignmentCollectionHeaderView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AlignmentCollectionHeaderView.h; sourceTree = "<group>"; };
32+
F3D5FCF61FFB240400238045 /* AlignmentCollectionHeaderView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AlignmentCollectionHeaderView.m; sourceTree = "<group>"; };
33+
/* End PBXFileReference section */
34+
35+
/* Begin PBXFrameworksBuildPhase section */
36+
F39370E31FF4ECB400969B22 /* Frameworks */ = {
37+
isa = PBXFrameworksBuildPhase;
38+
buildActionMask = 2147483647;
39+
files = (
40+
);
41+
runOnlyForDeploymentPostprocessing = 0;
42+
};
43+
/* End PBXFrameworksBuildPhase section */
44+
45+
/* Begin PBXGroup section */
46+
F39370DD1FF4ECB400969B22 = {
47+
isa = PBXGroup;
48+
children = (
49+
F39370E81FF4ECB400969B22 /* JQCollectionViewAlignLayout-Demo */,
50+
F39370E71FF4ECB400969B22 /* Products */,
51+
);
52+
sourceTree = "<group>";
53+
};
54+
F39370E71FF4ECB400969B22 /* Products */ = {
55+
isa = PBXGroup;
56+
children = (
57+
F39370E61FF4ECB400969B22 /* JQCollectionViewAlignLayout-Demo.app */,
58+
);
59+
name = Products;
60+
sourceTree = "<group>";
61+
};
62+
F39370E81FF4ECB400969B22 /* JQCollectionViewAlignLayout-Demo */ = {
63+
isa = PBXGroup;
64+
children = (
65+
F39370FF1FF4ECFF00969B22 /* Layout */,
66+
F39370E91FF4ECB400969B22 /* AppDelegate.h */,
67+
F39370EA1FF4ECB400969B22 /* AppDelegate.m */,
68+
F39370EC1FF4ECB400969B22 /* ViewController.h */,
69+
F39370ED1FF4ECB400969B22 /* ViewController.m */,
70+
F3D5FCF51FFB240400238045 /* AlignmentCollectionHeaderView.h */,
71+
F3D5FCF61FFB240400238045 /* AlignmentCollectionHeaderView.m */,
72+
F39370F21FF4ECB400969B22 /* Assets.xcassets */,
73+
F39370F41FF4ECB400969B22 /* LaunchScreen.storyboard */,
74+
F39370F71FF4ECB400969B22 /* Info.plist */,
75+
F39370F81FF4ECB400969B22 /* main.m */,
76+
);
77+
path = "JQCollectionViewAlignLayout-Demo";
78+
sourceTree = "<group>";
79+
};
80+
F39370FF1FF4ECFF00969B22 /* Layout */ = {
81+
isa = PBXGroup;
82+
children = (
83+
F39371001FF4ED4E00969B22 /* JQCollectionViewAlignLayout.h */,
84+
F39371011FF4ED4E00969B22 /* JQCollectionViewAlignLayout.m */,
85+
);
86+
path = Layout;
87+
sourceTree = "<group>";
88+
};
89+
/* End PBXGroup section */
90+
91+
/* Begin PBXNativeTarget section */
92+
F39370E51FF4ECB400969B22 /* JQCollectionViewAlignLayout-Demo */ = {
93+
isa = PBXNativeTarget;
94+
buildConfigurationList = F39370FC1FF4ECB400969B22 /* Build configuration list for PBXNativeTarget "JQCollectionViewAlignLayout-Demo" */;
95+
buildPhases = (
96+
F39370E21FF4ECB400969B22 /* Sources */,
97+
F39370E31FF4ECB400969B22 /* Frameworks */,
98+
F39370E41FF4ECB400969B22 /* Resources */,
99+
);
100+
buildRules = (
101+
);
102+
dependencies = (
103+
);
104+
name = "JQCollectionViewAlignLayout-Demo";
105+
productName = "JQCollectionViewAlignLayout-Demo";
106+
productReference = F39370E61FF4ECB400969B22 /* JQCollectionViewAlignLayout-Demo.app */;
107+
productType = "com.apple.product-type.application";
108+
};
109+
/* End PBXNativeTarget section */
110+
111+
/* Begin PBXProject section */
112+
F39370DE1FF4ECB400969B22 /* Project object */ = {
113+
isa = PBXProject;
114+
attributes = {
115+
LastUpgradeCheck = 0900;
116+
ORGANIZATIONNAME = Joker;
117+
TargetAttributes = {
118+
F39370E51FF4ECB400969B22 = {
119+
CreatedOnToolsVersion = 9.0.1;
120+
ProvisioningStyle = Automatic;
121+
};
122+
};
123+
};
124+
buildConfigurationList = F39370E11FF4ECB400969B22 /* Build configuration list for PBXProject "JQCollectionViewAlignLayout-Demo" */;
125+
compatibilityVersion = "Xcode 8.0";
126+
developmentRegion = en;
127+
hasScannedForEncodings = 0;
128+
knownRegions = (
129+
en,
130+
Base,
131+
);
132+
mainGroup = F39370DD1FF4ECB400969B22;
133+
productRefGroup = F39370E71FF4ECB400969B22 /* Products */;
134+
projectDirPath = "";
135+
projectRoot = "";
136+
targets = (
137+
F39370E51FF4ECB400969B22 /* JQCollectionViewAlignLayout-Demo */,
138+
);
139+
};
140+
/* End PBXProject section */
141+
142+
/* Begin PBXResourcesBuildPhase section */
143+
F39370E41FF4ECB400969B22 /* Resources */ = {
144+
isa = PBXResourcesBuildPhase;
145+
buildActionMask = 2147483647;
146+
files = (
147+
F39370F61FF4ECB400969B22 /* LaunchScreen.storyboard in Resources */,
148+
F39370F31FF4ECB400969B22 /* Assets.xcassets in Resources */,
149+
);
150+
runOnlyForDeploymentPostprocessing = 0;
151+
};
152+
/* End PBXResourcesBuildPhase section */
153+
154+
/* Begin PBXSourcesBuildPhase section */
155+
F39370E21FF4ECB400969B22 /* Sources */ = {
156+
isa = PBXSourcesBuildPhase;
157+
buildActionMask = 2147483647;
158+
files = (
159+
F39370EE1FF4ECB400969B22 /* ViewController.m in Sources */,
160+
F39370F91FF4ECB400969B22 /* main.m in Sources */,
161+
F39370EB1FF4ECB400969B22 /* AppDelegate.m in Sources */,
162+
F3D5FCF71FFB240400238045 /* AlignmentCollectionHeaderView.m in Sources */,
163+
F39371021FF4ED4E00969B22 /* JQCollectionViewAlignLayout.m in Sources */,
164+
);
165+
runOnlyForDeploymentPostprocessing = 0;
166+
};
167+
/* End PBXSourcesBuildPhase section */
168+
169+
/* Begin PBXVariantGroup section */
170+
F39370F41FF4ECB400969B22 /* LaunchScreen.storyboard */ = {
171+
isa = PBXVariantGroup;
172+
children = (
173+
F39370F51FF4ECB400969B22 /* Base */,
174+
);
175+
name = LaunchScreen.storyboard;
176+
sourceTree = "<group>";
177+
};
178+
/* End PBXVariantGroup section */
179+
180+
/* Begin XCBuildConfiguration section */
181+
F39370FA1FF4ECB400969B22 /* Debug */ = {
182+
isa = XCBuildConfiguration;
183+
buildSettings = {
184+
ALWAYS_SEARCH_USER_PATHS = NO;
185+
CLANG_ANALYZER_NONNULL = YES;
186+
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
187+
CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
188+
CLANG_CXX_LIBRARY = "libc++";
189+
CLANG_ENABLE_MODULES = YES;
190+
CLANG_ENABLE_OBJC_ARC = YES;
191+
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
192+
CLANG_WARN_BOOL_CONVERSION = YES;
193+
CLANG_WARN_COMMA = YES;
194+
CLANG_WARN_CONSTANT_CONVERSION = YES;
195+
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
196+
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
197+
CLANG_WARN_EMPTY_BODY = YES;
198+
CLANG_WARN_ENUM_CONVERSION = YES;
199+
CLANG_WARN_INFINITE_RECURSION = YES;
200+
CLANG_WARN_INT_CONVERSION = YES;
201+
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
202+
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
203+
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
204+
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
205+
CLANG_WARN_STRICT_PROTOTYPES = YES;
206+
CLANG_WARN_SUSPICIOUS_MOVE = YES;
207+
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
208+
CLANG_WARN_UNREACHABLE_CODE = YES;
209+
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
210+
CODE_SIGN_IDENTITY = "iPhone Developer";
211+
COPY_PHASE_STRIP = NO;
212+
DEBUG_INFORMATION_FORMAT = dwarf;
213+
ENABLE_STRICT_OBJC_MSGSEND = YES;
214+
ENABLE_TESTABILITY = YES;
215+
GCC_C_LANGUAGE_STANDARD = gnu11;
216+
GCC_DYNAMIC_NO_PIC = NO;
217+
GCC_NO_COMMON_BLOCKS = YES;
218+
GCC_OPTIMIZATION_LEVEL = 0;
219+
GCC_PREPROCESSOR_DEFINITIONS = (
220+
"DEBUG=1",
221+
"$(inherited)",
222+
);
223+
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
224+
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
225+
GCC_WARN_UNDECLARED_SELECTOR = YES;
226+
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
227+
GCC_WARN_UNUSED_FUNCTION = YES;
228+
GCC_WARN_UNUSED_VARIABLE = YES;
229+
IPHONEOS_DEPLOYMENT_TARGET = 11.0;
230+
MTL_ENABLE_DEBUG_INFO = YES;
231+
ONLY_ACTIVE_ARCH = YES;
232+
SDKROOT = iphoneos;
233+
};
234+
name = Debug;
235+
};
236+
F39370FB1FF4ECB400969B22 /* Release */ = {
237+
isa = XCBuildConfiguration;
238+
buildSettings = {
239+
ALWAYS_SEARCH_USER_PATHS = NO;
240+
CLANG_ANALYZER_NONNULL = YES;
241+
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
242+
CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
243+
CLANG_CXX_LIBRARY = "libc++";
244+
CLANG_ENABLE_MODULES = YES;
245+
CLANG_ENABLE_OBJC_ARC = YES;
246+
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
247+
CLANG_WARN_BOOL_CONVERSION = YES;
248+
CLANG_WARN_COMMA = YES;
249+
CLANG_WARN_CONSTANT_CONVERSION = YES;
250+
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
251+
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
252+
CLANG_WARN_EMPTY_BODY = YES;
253+
CLANG_WARN_ENUM_CONVERSION = YES;
254+
CLANG_WARN_INFINITE_RECURSION = YES;
255+
CLANG_WARN_INT_CONVERSION = YES;
256+
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
257+
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
258+
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
259+
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
260+
CLANG_WARN_STRICT_PROTOTYPES = YES;
261+
CLANG_WARN_SUSPICIOUS_MOVE = YES;
262+
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
263+
CLANG_WARN_UNREACHABLE_CODE = YES;
264+
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
265+
CODE_SIGN_IDENTITY = "iPhone Developer";
266+
COPY_PHASE_STRIP = NO;
267+
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
268+
ENABLE_NS_ASSERTIONS = NO;
269+
ENABLE_STRICT_OBJC_MSGSEND = YES;
270+
GCC_C_LANGUAGE_STANDARD = gnu11;
271+
GCC_NO_COMMON_BLOCKS = YES;
272+
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
273+
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
274+
GCC_WARN_UNDECLARED_SELECTOR = YES;
275+
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
276+
GCC_WARN_UNUSED_FUNCTION = YES;
277+
GCC_WARN_UNUSED_VARIABLE = YES;
278+
IPHONEOS_DEPLOYMENT_TARGET = 11.0;
279+
MTL_ENABLE_DEBUG_INFO = NO;
280+
SDKROOT = iphoneos;
281+
VALIDATE_PRODUCT = YES;
282+
};
283+
name = Release;
284+
};
285+
F39370FD1FF4ECB400969B22 /* Debug */ = {
286+
isa = XCBuildConfiguration;
287+
buildSettings = {
288+
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
289+
CODE_SIGN_STYLE = Automatic;
290+
DEVELOPMENT_TEAM = 92MVBZK45G;
291+
INFOPLIST_FILE = "JQCollectionViewAlignLayout-Demo/Info.plist";
292+
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
293+
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
294+
PRODUCT_BUNDLE_IDENTIFIER = "me.coder-zjq.JQCollectionViewAlignLayout-Demo";
295+
PRODUCT_NAME = "$(TARGET_NAME)";
296+
TARGETED_DEVICE_FAMILY = 1;
297+
};
298+
name = Debug;
299+
};
300+
F39370FE1FF4ECB400969B22 /* Release */ = {
301+
isa = XCBuildConfiguration;
302+
buildSettings = {
303+
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
304+
CODE_SIGN_STYLE = Automatic;
305+
DEVELOPMENT_TEAM = 92MVBZK45G;
306+
INFOPLIST_FILE = "JQCollectionViewAlignLayout-Demo/Info.plist";
307+
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
308+
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
309+
PRODUCT_BUNDLE_IDENTIFIER = "me.coder-zjq.JQCollectionViewAlignLayout-Demo";
310+
PRODUCT_NAME = "$(TARGET_NAME)";
311+
TARGETED_DEVICE_FAMILY = 1;
312+
};
313+
name = Release;
314+
};
315+
/* End XCBuildConfiguration section */
316+
317+
/* Begin XCConfigurationList section */
318+
F39370E11FF4ECB400969B22 /* Build configuration list for PBXProject "JQCollectionViewAlignLayout-Demo" */ = {
319+
isa = XCConfigurationList;
320+
buildConfigurations = (
321+
F39370FA1FF4ECB400969B22 /* Debug */,
322+
F39370FB1FF4ECB400969B22 /* Release */,
323+
);
324+
defaultConfigurationIsVisible = 0;
325+
defaultConfigurationName = Release;
326+
};
327+
F39370FC1FF4ECB400969B22 /* Build configuration list for PBXNativeTarget "JQCollectionViewAlignLayout-Demo" */ = {
328+
isa = XCConfigurationList;
329+
buildConfigurations = (
330+
F39370FD1FF4ECB400969B22 /* Debug */,
331+
F39370FE1FF4ECB400969B22 /* Release */,
332+
);
333+
defaultConfigurationIsVisible = 0;
334+
defaultConfigurationName = Release;
335+
};
336+
/* End XCConfigurationList section */
337+
};
338+
rootObject = F39370DE1FF4ECB400969B22 /* Project object */;
339+
}

demo/JQCollectionViewAlignLayout-Demo/JQCollectionViewAlignLayout-Demo.xcodeproj/project.xcworkspace/contents.xcworkspacedata

Lines changed: 7 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
//
2+
// AlignmentCollectionHeaderView.h
3+
// JQCollectionViewAlignLayout-Demo
4+
//
5+
// Created by Joker on 2018/1/2.
6+
// Copyright © 2018年 Joker. All rights reserved.
7+
//
8+
9+
#import <UIKit/UIKit.h>
10+
11+
@interface AlignmentCollectionHeaderView : UICollectionReusableView
12+
13+
@property (nonatomic) NSInteger alignment;
14+
15+
@end

0 commit comments

Comments
 (0)