├── README.md
├── Stack.xcodeproj
├── project.pbxproj
├── project.xcworkspace
│ ├── contents.xcworkspacedata
│ └── xcshareddata
│ │ └── Stack.xccheckout
└── xcuserdata
│ └── Tomoya_Hirano.xcuserdatad
│ ├── xcdebugger
│ └── Breakpoints_v2.xcbkptlist
│ └── xcschemes
│ ├── Stack.xcscheme
│ └── xcschememanagement.plist
├── Stack
├── AppDelegate.h
├── AppDelegate.m
├── Asset
│ ├── 0.jpg
│ ├── 1.jpg
│ ├── 2.jpg
│ ├── 3.jpg
│ ├── 4.jpg
│ ├── 5.jpg
│ ├── 6.jpg
│ └── 7.jpg
├── Base.lproj
│ ├── LaunchScreen.xib
│ └── Main.storyboard
├── Images.xcassets
│ └── AppIcon.appiconset
│ │ └── Contents.json
├── StackTableView
│ ├── StackTableView.h
│ └── StackTableView.m
├── Supporting Files
│ ├── Info.plist
│ └── main.m
├── ViewController.h
└── ViewController.m
├── StackTests
├── StackTests.m
└── Supporting Files
│ └── Info.plist
└── sample.gif
/README.md:
--------------------------------------------------------------------------------
1 | # StackTableView
2 | UITableView with stack animation.
3 |
4 | 
5 |
6 | # Usage is simple
7 | You replace UITableView with StackTableView.(StackTableView support for initWithFrame and Storyboard.)
8 |
9 | ## LICENCE
10 | StackTableView is available under the MIT license.
11 |
--------------------------------------------------------------------------------
/Stack.xcodeproj/project.pbxproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | archiveVersion
6 | 1
7 | classes
8 |
9 | objectVersion
10 | 46
11 | objects
12 |
13 | D71F95F21AFB809500C4341E
14 |
15 | children
16 |
17 | D71F95FD1AFB809500C4341E
18 | D71F96171AFB809600C4341E
19 | D71F95FC1AFB809500C4341E
20 |
21 | isa
22 | PBXGroup
23 | sourceTree
24 | <group>
25 |
26 | D71F95F31AFB809500C4341E
27 |
28 | attributes
29 |
30 | LastUpgradeCheck
31 | 0630
32 | ORGANIZATIONNAME
33 | Tomoya_Hirano
34 | TargetAttributes
35 |
36 | D71F95FA1AFB809500C4341E
37 |
38 | CreatedOnToolsVersion
39 | 6.3.1
40 |
41 | D71F96131AFB809600C4341E
42 |
43 | CreatedOnToolsVersion
44 | 6.3.1
45 | TestTargetID
46 | D71F95FA1AFB809500C4341E
47 |
48 |
49 |
50 | buildConfigurationList
51 | D71F95F61AFB809500C4341E
52 | compatibilityVersion
53 | Xcode 3.2
54 | developmentRegion
55 | English
56 | hasScannedForEncodings
57 | 0
58 | isa
59 | PBXProject
60 | knownRegions
61 |
62 | en
63 | Base
64 |
65 | mainGroup
66 | D71F95F21AFB809500C4341E
67 | productRefGroup
68 | D71F95FC1AFB809500C4341E
69 | projectDirPath
70 |
71 | projectReferences
72 |
73 | projectRoot
74 |
75 | targets
76 |
77 | D71F95FA1AFB809500C4341E
78 | D71F96131AFB809600C4341E
79 |
80 |
81 | D71F95F61AFB809500C4341E
82 |
83 | buildConfigurations
84 |
85 | D71F961C1AFB809600C4341E
86 | D71F961D1AFB809600C4341E
87 |
88 | defaultConfigurationIsVisible
89 | 0
90 | defaultConfigurationName
91 | Release
92 | isa
93 | XCConfigurationList
94 |
95 | D71F95F71AFB809500C4341E
96 |
97 | buildActionMask
98 | 2147483647
99 | files
100 |
101 | D71F96291AFB8BF800C4341E
102 | D71F96071AFB809500C4341E
103 | D71F96041AFB809500C4341E
104 | D71F96011AFB809500C4341E
105 |
106 | isa
107 | PBXSourcesBuildPhase
108 | runOnlyForDeploymentPostprocessing
109 | 0
110 |
111 | D71F95F81AFB809500C4341E
112 |
113 | buildActionMask
114 | 2147483647
115 | files
116 |
117 | isa
118 | PBXFrameworksBuildPhase
119 | runOnlyForDeploymentPostprocessing
120 | 0
121 |
122 | D71F95F91AFB809500C4341E
123 |
124 | buildActionMask
125 | 2147483647
126 | files
127 |
128 | D7289C9E1AFCD50F00B1873D
129 | D7289C9B1AFCD50F00B1873D
130 | D7289C991AFCD50F00B1873D
131 | D7289C971AFCD50F00B1873D
132 | D7289C9C1AFCD50F00B1873D
133 | D7289C9D1AFCD50F00B1873D
134 | D71F960A1AFB809500C4341E
135 | D71F960F1AFB809600C4341E
136 | D71F960C1AFB809500C4341E
137 | D7289C9A1AFCD50F00B1873D
138 | D7289C981AFCD50F00B1873D
139 |
140 | isa
141 | PBXResourcesBuildPhase
142 | runOnlyForDeploymentPostprocessing
143 | 0
144 |
145 | D71F95FA1AFB809500C4341E
146 |
147 | buildConfigurationList
148 | D71F961E1AFB809600C4341E
149 | buildPhases
150 |
151 | D71F95F71AFB809500C4341E
152 | D71F95F81AFB809500C4341E
153 | D71F95F91AFB809500C4341E
154 |
155 | buildRules
156 |
157 | dependencies
158 |
159 | isa
160 | PBXNativeTarget
161 | name
162 | Stack
163 | productName
164 | Stack
165 | productReference
166 | D71F95FB1AFB809500C4341E
167 | productType
168 | com.apple.product-type.application
169 |
170 | D71F95FB1AFB809500C4341E
171 |
172 | explicitFileType
173 | wrapper.application
174 | includeInIndex
175 | 0
176 | isa
177 | PBXFileReference
178 | path
179 | Stack.app
180 | sourceTree
181 | BUILT_PRODUCTS_DIR
182 |
183 | D71F95FC1AFB809500C4341E
184 |
185 | children
186 |
187 | D71F95FB1AFB809500C4341E
188 | D71F96141AFB809600C4341E
189 |
190 | isa
191 | PBXGroup
192 | name
193 | Products
194 | sourceTree
195 | <group>
196 |
197 | D71F95FD1AFB809500C4341E
198 |
199 | children
200 |
201 | D7C04DA81AFD00410056957E
202 | D7289C7E1AFCD17500B1873D
203 | D71F96021AFB809500C4341E
204 | D71F96031AFB809500C4341E
205 | D71F96051AFB809500C4341E
206 | D71F96061AFB809500C4341E
207 | D71F96081AFB809500C4341E
208 | D71F960B1AFB809500C4341E
209 | D71F960D1AFB809500C4341E
210 | D71F95FE1AFB809500C4341E
211 |
212 | isa
213 | PBXGroup
214 | path
215 | Stack
216 | sourceTree
217 | <group>
218 |
219 | D71F95FE1AFB809500C4341E
220 |
221 | children
222 |
223 | D71F95FF1AFB809500C4341E
224 | D71F96001AFB809500C4341E
225 |
226 | isa
227 | PBXGroup
228 | name
229 | Supporting Files
230 | path
231 | Supporting Files
232 | sourceTree
233 | <group>
234 |
235 | D71F95FF1AFB809500C4341E
236 |
237 | isa
238 | PBXFileReference
239 | lastKnownFileType
240 | text.plist.xml
241 | path
242 | Info.plist
243 | sourceTree
244 | <group>
245 |
246 | D71F96001AFB809500C4341E
247 |
248 | isa
249 | PBXFileReference
250 | lastKnownFileType
251 | sourcecode.c.objc
252 | path
253 | main.m
254 | sourceTree
255 | <group>
256 |
257 | D71F96011AFB809500C4341E
258 |
259 | fileRef
260 | D71F96001AFB809500C4341E
261 | isa
262 | PBXBuildFile
263 |
264 | D71F96021AFB809500C4341E
265 |
266 | isa
267 | PBXFileReference
268 | lastKnownFileType
269 | sourcecode.c.h
270 | path
271 | AppDelegate.h
272 | sourceTree
273 | <group>
274 |
275 | D71F96031AFB809500C4341E
276 |
277 | isa
278 | PBXFileReference
279 | lastKnownFileType
280 | sourcecode.c.objc
281 | path
282 | AppDelegate.m
283 | sourceTree
284 | <group>
285 |
286 | D71F96041AFB809500C4341E
287 |
288 | fileRef
289 | D71F96031AFB809500C4341E
290 | isa
291 | PBXBuildFile
292 |
293 | D71F96051AFB809500C4341E
294 |
295 | isa
296 | PBXFileReference
297 | lastKnownFileType
298 | sourcecode.c.h
299 | path
300 | ViewController.h
301 | sourceTree
302 | <group>
303 |
304 | D71F96061AFB809500C4341E
305 |
306 | isa
307 | PBXFileReference
308 | lastKnownFileType
309 | sourcecode.c.objc
310 | path
311 | ViewController.m
312 | sourceTree
313 | <group>
314 |
315 | D71F96071AFB809500C4341E
316 |
317 | fileRef
318 | D71F96061AFB809500C4341E
319 | isa
320 | PBXBuildFile
321 |
322 | D71F96081AFB809500C4341E
323 |
324 | children
325 |
326 | D71F96091AFB809500C4341E
327 |
328 | isa
329 | PBXVariantGroup
330 | name
331 | Main.storyboard
332 | path
333 | .
334 | sourceTree
335 | <group>
336 |
337 | D71F96091AFB809500C4341E
338 |
339 | isa
340 | PBXFileReference
341 | lastKnownFileType
342 | file.storyboard
343 | name
344 | Base
345 | path
346 | Base.lproj/Main.storyboard
347 | sourceTree
348 | <group>
349 |
350 | D71F960A1AFB809500C4341E
351 |
352 | fileRef
353 | D71F96081AFB809500C4341E
354 | isa
355 | PBXBuildFile
356 |
357 | D71F960B1AFB809500C4341E
358 |
359 | isa
360 | PBXFileReference
361 | lastKnownFileType
362 | folder.assetcatalog
363 | path
364 | Images.xcassets
365 | sourceTree
366 | <group>
367 |
368 | D71F960C1AFB809500C4341E
369 |
370 | fileRef
371 | D71F960B1AFB809500C4341E
372 | isa
373 | PBXBuildFile
374 |
375 | D71F960D1AFB809500C4341E
376 |
377 | children
378 |
379 | D71F960E1AFB809600C4341E
380 |
381 | isa
382 | PBXVariantGroup
383 | name
384 | LaunchScreen.xib
385 | path
386 | .
387 | sourceTree
388 | <group>
389 |
390 | D71F960E1AFB809600C4341E
391 |
392 | isa
393 | PBXFileReference
394 | lastKnownFileType
395 | file.xib
396 | name
397 | Base
398 | path
399 | Base.lproj/LaunchScreen.xib
400 | sourceTree
401 | <group>
402 |
403 | D71F960F1AFB809600C4341E
404 |
405 | fileRef
406 | D71F960D1AFB809500C4341E
407 | isa
408 | PBXBuildFile
409 |
410 | D71F96101AFB809600C4341E
411 |
412 | buildActionMask
413 | 2147483647
414 | files
415 |
416 | D71F961B1AFB809600C4341E
417 |
418 | isa
419 | PBXSourcesBuildPhase
420 | runOnlyForDeploymentPostprocessing
421 | 0
422 |
423 | D71F96111AFB809600C4341E
424 |
425 | buildActionMask
426 | 2147483647
427 | files
428 |
429 | isa
430 | PBXFrameworksBuildPhase
431 | runOnlyForDeploymentPostprocessing
432 | 0
433 |
434 | D71F96121AFB809600C4341E
435 |
436 | buildActionMask
437 | 2147483647
438 | files
439 |
440 | isa
441 | PBXResourcesBuildPhase
442 | runOnlyForDeploymentPostprocessing
443 | 0
444 |
445 | D71F96131AFB809600C4341E
446 |
447 | buildConfigurationList
448 | D71F96211AFB809600C4341E
449 | buildPhases
450 |
451 | D71F96101AFB809600C4341E
452 | D71F96111AFB809600C4341E
453 | D71F96121AFB809600C4341E
454 |
455 | buildRules
456 |
457 | dependencies
458 |
459 | D71F96161AFB809600C4341E
460 |
461 | isa
462 | PBXNativeTarget
463 | name
464 | StackTests
465 | productName
466 | StackTests
467 | productReference
468 | D71F96141AFB809600C4341E
469 | productType
470 | com.apple.product-type.bundle.unit-test
471 |
472 | D71F96141AFB809600C4341E
473 |
474 | explicitFileType
475 | wrapper.cfbundle
476 | includeInIndex
477 | 0
478 | isa
479 | PBXFileReference
480 | path
481 | StackTests.xctest
482 | sourceTree
483 | BUILT_PRODUCTS_DIR
484 |
485 | D71F96151AFB809600C4341E
486 |
487 | containerPortal
488 | D71F95F31AFB809500C4341E
489 | isa
490 | PBXContainerItemProxy
491 | proxyType
492 | 1
493 | remoteGlobalIDString
494 | D71F95FA1AFB809500C4341E
495 | remoteInfo
496 | Stack
497 |
498 | D71F96161AFB809600C4341E
499 |
500 | isa
501 | PBXTargetDependency
502 | target
503 | D71F95FA1AFB809500C4341E
504 | targetProxy
505 | D71F96151AFB809600C4341E
506 |
507 | D71F96171AFB809600C4341E
508 |
509 | children
510 |
511 | D71F961A1AFB809600C4341E
512 | D71F96181AFB809600C4341E
513 |
514 | isa
515 | PBXGroup
516 | path
517 | StackTests
518 | sourceTree
519 | <group>
520 |
521 | D71F96181AFB809600C4341E
522 |
523 | children
524 |
525 | D71F96191AFB809600C4341E
526 |
527 | isa
528 | PBXGroup
529 | name
530 | Supporting Files
531 | path
532 | Supporting Files
533 | sourceTree
534 | <group>
535 |
536 | D71F96191AFB809600C4341E
537 |
538 | isa
539 | PBXFileReference
540 | lastKnownFileType
541 | text.plist.xml
542 | path
543 | Info.plist
544 | sourceTree
545 | <group>
546 |
547 | D71F961A1AFB809600C4341E
548 |
549 | isa
550 | PBXFileReference
551 | lastKnownFileType
552 | sourcecode.c.objc
553 | path
554 | StackTests.m
555 | sourceTree
556 | <group>
557 |
558 | D71F961B1AFB809600C4341E
559 |
560 | fileRef
561 | D71F961A1AFB809600C4341E
562 | isa
563 | PBXBuildFile
564 |
565 | D71F961C1AFB809600C4341E
566 |
567 | buildSettings
568 |
569 | ALWAYS_SEARCH_USER_PATHS
570 | NO
571 | CLANG_CXX_LANGUAGE_STANDARD
572 | gnu++0x
573 | CLANG_CXX_LIBRARY
574 | libc++
575 | CLANG_ENABLE_MODULES
576 | YES
577 | CLANG_ENABLE_OBJC_ARC
578 | YES
579 | CLANG_WARN_BOOL_CONVERSION
580 | YES
581 | CLANG_WARN_CONSTANT_CONVERSION
582 | YES
583 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE
584 | YES_ERROR
585 | CLANG_WARN_EMPTY_BODY
586 | YES
587 | CLANG_WARN_ENUM_CONVERSION
588 | YES
589 | CLANG_WARN_INT_CONVERSION
590 | YES
591 | CLANG_WARN_OBJC_ROOT_CLASS
592 | YES_ERROR
593 | CLANG_WARN_UNREACHABLE_CODE
594 | YES
595 | CLANG_WARN__DUPLICATE_METHOD_MATCH
596 | YES
597 | CODE_SIGN_IDENTITY[sdk=iphoneos*]
598 | iPhone Developer
599 | COPY_PHASE_STRIP
600 | NO
601 | DEBUG_INFORMATION_FORMAT
602 | dwarf-with-dsym
603 | ENABLE_STRICT_OBJC_MSGSEND
604 | YES
605 | GCC_C_LANGUAGE_STANDARD
606 | gnu99
607 | GCC_DYNAMIC_NO_PIC
608 | NO
609 | GCC_NO_COMMON_BLOCKS
610 | YES
611 | GCC_OPTIMIZATION_LEVEL
612 | 0
613 | GCC_PREPROCESSOR_DEFINITIONS
614 |
615 | DEBUG=1
616 | $(inherited)
617 |
618 | GCC_SYMBOLS_PRIVATE_EXTERN
619 | NO
620 | GCC_WARN_64_TO_32_BIT_CONVERSION
621 | YES
622 | GCC_WARN_ABOUT_RETURN_TYPE
623 | YES_ERROR
624 | GCC_WARN_UNDECLARED_SELECTOR
625 | YES
626 | GCC_WARN_UNINITIALIZED_AUTOS
627 | YES_AGGRESSIVE
628 | GCC_WARN_UNUSED_FUNCTION
629 | YES
630 | GCC_WARN_UNUSED_VARIABLE
631 | YES
632 | IPHONEOS_DEPLOYMENT_TARGET
633 | 8.3
634 | MTL_ENABLE_DEBUG_INFO
635 | YES
636 | ONLY_ACTIVE_ARCH
637 | YES
638 | SDKROOT
639 | iphoneos
640 |
641 | isa
642 | XCBuildConfiguration
643 | name
644 | Debug
645 |
646 | D71F961D1AFB809600C4341E
647 |
648 | buildSettings
649 |
650 | ALWAYS_SEARCH_USER_PATHS
651 | NO
652 | CLANG_CXX_LANGUAGE_STANDARD
653 | gnu++0x
654 | CLANG_CXX_LIBRARY
655 | libc++
656 | CLANG_ENABLE_MODULES
657 | YES
658 | CLANG_ENABLE_OBJC_ARC
659 | YES
660 | CLANG_WARN_BOOL_CONVERSION
661 | YES
662 | CLANG_WARN_CONSTANT_CONVERSION
663 | YES
664 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE
665 | YES_ERROR
666 | CLANG_WARN_EMPTY_BODY
667 | YES
668 | CLANG_WARN_ENUM_CONVERSION
669 | YES
670 | CLANG_WARN_INT_CONVERSION
671 | YES
672 | CLANG_WARN_OBJC_ROOT_CLASS
673 | YES_ERROR
674 | CLANG_WARN_UNREACHABLE_CODE
675 | YES
676 | CLANG_WARN__DUPLICATE_METHOD_MATCH
677 | YES
678 | CODE_SIGN_IDENTITY[sdk=iphoneos*]
679 | iPhone Developer
680 | COPY_PHASE_STRIP
681 | NO
682 | DEBUG_INFORMATION_FORMAT
683 | dwarf-with-dsym
684 | ENABLE_NS_ASSERTIONS
685 | NO
686 | ENABLE_STRICT_OBJC_MSGSEND
687 | YES
688 | GCC_C_LANGUAGE_STANDARD
689 | gnu99
690 | GCC_NO_COMMON_BLOCKS
691 | YES
692 | GCC_WARN_64_TO_32_BIT_CONVERSION
693 | YES
694 | GCC_WARN_ABOUT_RETURN_TYPE
695 | YES_ERROR
696 | GCC_WARN_UNDECLARED_SELECTOR
697 | YES
698 | GCC_WARN_UNINITIALIZED_AUTOS
699 | YES_AGGRESSIVE
700 | GCC_WARN_UNUSED_FUNCTION
701 | YES
702 | GCC_WARN_UNUSED_VARIABLE
703 | YES
704 | IPHONEOS_DEPLOYMENT_TARGET
705 | 8.3
706 | MTL_ENABLE_DEBUG_INFO
707 | NO
708 | SDKROOT
709 | iphoneos
710 | VALIDATE_PRODUCT
711 | YES
712 |
713 | isa
714 | XCBuildConfiguration
715 | name
716 | Release
717 |
718 | D71F961E1AFB809600C4341E
719 |
720 | buildConfigurations
721 |
722 | D71F961F1AFB809600C4341E
723 | D71F96201AFB809600C4341E
724 |
725 | defaultConfigurationIsVisible
726 | 0
727 | defaultConfigurationName
728 | Release
729 | isa
730 | XCConfigurationList
731 |
732 | D71F961F1AFB809600C4341E
733 |
734 | buildSettings
735 |
736 | ASSETCATALOG_COMPILER_APPICON_NAME
737 | AppIcon
738 | INFOPLIST_FILE
739 | Stack/Supporting Files/Info.plist
740 | LD_RUNPATH_SEARCH_PATHS
741 | $(inherited) @executable_path/Frameworks
742 | PRODUCT_NAME
743 | $(TARGET_NAME)
744 |
745 | isa
746 | XCBuildConfiguration
747 | name
748 | Debug
749 |
750 | D71F96201AFB809600C4341E
751 |
752 | buildSettings
753 |
754 | ASSETCATALOG_COMPILER_APPICON_NAME
755 | AppIcon
756 | INFOPLIST_FILE
757 | Stack/Supporting Files/Info.plist
758 | LD_RUNPATH_SEARCH_PATHS
759 | $(inherited) @executable_path/Frameworks
760 | PRODUCT_NAME
761 | $(TARGET_NAME)
762 |
763 | isa
764 | XCBuildConfiguration
765 | name
766 | Release
767 |
768 | D71F96211AFB809600C4341E
769 |
770 | buildConfigurations
771 |
772 | D71F96221AFB809600C4341E
773 | D71F96231AFB809600C4341E
774 |
775 | defaultConfigurationIsVisible
776 | 0
777 | defaultConfigurationName
778 | Release
779 | isa
780 | XCConfigurationList
781 |
782 | D71F96221AFB809600C4341E
783 |
784 | buildSettings
785 |
786 | BUNDLE_LOADER
787 | $(TEST_HOST)
788 | FRAMEWORK_SEARCH_PATHS
789 |
790 | $(SDKROOT)/Developer/Library/Frameworks
791 | $(inherited)
792 |
793 | GCC_PREPROCESSOR_DEFINITIONS
794 |
795 | DEBUG=1
796 | $(inherited)
797 |
798 | INFOPLIST_FILE
799 | StackTests/Supporting Files/Info.plist
800 | LD_RUNPATH_SEARCH_PATHS
801 | $(inherited) @executable_path/Frameworks @loader_path/Frameworks
802 | PRODUCT_NAME
803 | $(TARGET_NAME)
804 | TEST_HOST
805 | $(BUILT_PRODUCTS_DIR)/Stack.app/Stack
806 |
807 | isa
808 | XCBuildConfiguration
809 | name
810 | Debug
811 |
812 | D71F96231AFB809600C4341E
813 |
814 | buildSettings
815 |
816 | BUNDLE_LOADER
817 | $(TEST_HOST)
818 | FRAMEWORK_SEARCH_PATHS
819 |
820 | $(SDKROOT)/Developer/Library/Frameworks
821 | $(inherited)
822 |
823 | INFOPLIST_FILE
824 | StackTests/Supporting Files/Info.plist
825 | LD_RUNPATH_SEARCH_PATHS
826 | $(inherited) @executable_path/Frameworks @loader_path/Frameworks
827 | PRODUCT_NAME
828 | $(TARGET_NAME)
829 | TEST_HOST
830 | $(BUILT_PRODUCTS_DIR)/Stack.app/Stack
831 |
832 | isa
833 | XCBuildConfiguration
834 | name
835 | Release
836 |
837 | D71F96271AFB8BF800C4341E
838 |
839 | fileEncoding
840 | 4
841 | isa
842 | PBXFileReference
843 | lastKnownFileType
844 | sourcecode.c.h
845 | path
846 | StackTableView.h
847 | sourceTree
848 | <group>
849 |
850 | D71F96281AFB8BF800C4341E
851 |
852 | fileEncoding
853 | 4
854 | isa
855 | PBXFileReference
856 | lastKnownFileType
857 | sourcecode.c.objc
858 | path
859 | StackTableView.m
860 | sourceTree
861 | <group>
862 |
863 | D71F96291AFB8BF800C4341E
864 |
865 | fileRef
866 | D71F96281AFB8BF800C4341E
867 | isa
868 | PBXBuildFile
869 |
870 | D7289C7E1AFCD17500B1873D
871 |
872 | children
873 |
874 | D7289C8F1AFCD50F00B1873D
875 | D7289C901AFCD50F00B1873D
876 | D7289C911AFCD50F00B1873D
877 | D7289C921AFCD50F00B1873D
878 | D7289C931AFCD50F00B1873D
879 | D7289C941AFCD50F00B1873D
880 | D7289C951AFCD50F00B1873D
881 | D7289C961AFCD50F00B1873D
882 |
883 | isa
884 | PBXGroup
885 | name
886 | Asset
887 | path
888 | Asset
889 | sourceTree
890 | <group>
891 |
892 | D7289C8F1AFCD50F00B1873D
893 |
894 | isa
895 | PBXFileReference
896 | lastKnownFileType
897 | image.jpeg
898 | path
899 | 0.jpg
900 | sourceTree
901 | <group>
902 |
903 | D7289C901AFCD50F00B1873D
904 |
905 | isa
906 | PBXFileReference
907 | lastKnownFileType
908 | image.jpeg
909 | path
910 | 1.jpg
911 | sourceTree
912 | <group>
913 |
914 | D7289C911AFCD50F00B1873D
915 |
916 | isa
917 | PBXFileReference
918 | lastKnownFileType
919 | image.jpeg
920 | path
921 | 2.jpg
922 | sourceTree
923 | <group>
924 |
925 | D7289C921AFCD50F00B1873D
926 |
927 | isa
928 | PBXFileReference
929 | lastKnownFileType
930 | image.jpeg
931 | path
932 | 3.jpg
933 | sourceTree
934 | <group>
935 |
936 | D7289C931AFCD50F00B1873D
937 |
938 | isa
939 | PBXFileReference
940 | lastKnownFileType
941 | image.jpeg
942 | path
943 | 4.jpg
944 | sourceTree
945 | <group>
946 |
947 | D7289C941AFCD50F00B1873D
948 |
949 | isa
950 | PBXFileReference
951 | lastKnownFileType
952 | image.jpeg
953 | path
954 | 5.jpg
955 | sourceTree
956 | <group>
957 |
958 | D7289C951AFCD50F00B1873D
959 |
960 | isa
961 | PBXFileReference
962 | lastKnownFileType
963 | image.jpeg
964 | path
965 | 6.jpg
966 | sourceTree
967 | <group>
968 |
969 | D7289C961AFCD50F00B1873D
970 |
971 | isa
972 | PBXFileReference
973 | lastKnownFileType
974 | image.jpeg
975 | path
976 | 7.jpg
977 | sourceTree
978 | <group>
979 |
980 | D7289C971AFCD50F00B1873D
981 |
982 | fileRef
983 | D7289C8F1AFCD50F00B1873D
984 | isa
985 | PBXBuildFile
986 |
987 | D7289C981AFCD50F00B1873D
988 |
989 | fileRef
990 | D7289C901AFCD50F00B1873D
991 | isa
992 | PBXBuildFile
993 |
994 | D7289C991AFCD50F00B1873D
995 |
996 | fileRef
997 | D7289C911AFCD50F00B1873D
998 | isa
999 | PBXBuildFile
1000 |
1001 | D7289C9A1AFCD50F00B1873D
1002 |
1003 | fileRef
1004 | D7289C921AFCD50F00B1873D
1005 | isa
1006 | PBXBuildFile
1007 |
1008 | D7289C9B1AFCD50F00B1873D
1009 |
1010 | fileRef
1011 | D7289C931AFCD50F00B1873D
1012 | isa
1013 | PBXBuildFile
1014 |
1015 | D7289C9C1AFCD50F00B1873D
1016 |
1017 | fileRef
1018 | D7289C941AFCD50F00B1873D
1019 | isa
1020 | PBXBuildFile
1021 |
1022 | D7289C9D1AFCD50F00B1873D
1023 |
1024 | fileRef
1025 | D7289C951AFCD50F00B1873D
1026 | isa
1027 | PBXBuildFile
1028 |
1029 | D7289C9E1AFCD50F00B1873D
1030 |
1031 | fileRef
1032 | D7289C961AFCD50F00B1873D
1033 | isa
1034 | PBXBuildFile
1035 |
1036 | D7C04DA81AFD00410056957E
1037 |
1038 | children
1039 |
1040 | D71F96271AFB8BF800C4341E
1041 | D71F96281AFB8BF800C4341E
1042 |
1043 | isa
1044 | PBXGroup
1045 | name
1046 | StackTableView
1047 | path
1048 | StackTableView
1049 | sourceTree
1050 | <group>
1051 |
1052 |
1053 | rootObject
1054 | D71F95F31AFB809500C4341E
1055 |
1056 |
1057 |
--------------------------------------------------------------------------------
/Stack.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/Stack.xcodeproj/project.xcworkspace/xcshareddata/Stack.xccheckout:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IDESourceControlProjectFavoriteDictionaryKey
6 |
7 | IDESourceControlProjectIdentifier
8 | 9193C2CC-D7AE-4712-907F-F0855590FDD8
9 | IDESourceControlProjectName
10 | Stack
11 | IDESourceControlProjectOriginsDictionary
12 |
13 | 84694976197C747D20B0EBB6A4CD970B446E17AD
14 | https://github.com/noppefoxwolf/StackTableView.git
15 |
16 | IDESourceControlProjectPath
17 | Stack.xcodeproj
18 | IDESourceControlProjectRelativeInstallPathDictionary
19 |
20 | 84694976197C747D20B0EBB6A4CD970B446E17AD
21 | ../..
22 |
23 | IDESourceControlProjectURL
24 | https://github.com/noppefoxwolf/StackTableView.git
25 | IDESourceControlProjectVersion
26 | 111
27 | IDESourceControlProjectWCCIdentifier
28 | 84694976197C747D20B0EBB6A4CD970B446E17AD
29 | IDESourceControlProjectWCConfigurations
30 |
31 |
32 | IDESourceControlRepositoryExtensionIdentifierKey
33 | public.vcs.git
34 | IDESourceControlWCCIdentifierKey
35 | 84694976197C747D20B0EBB6A4CD970B446E17AD
36 | IDESourceControlWCCName
37 | Stack
38 |
39 |
40 |
41 |
42 |
--------------------------------------------------------------------------------
/Stack.xcodeproj/xcuserdata/Tomoya_Hirano.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
--------------------------------------------------------------------------------
/Stack.xcodeproj/xcuserdata/Tomoya_Hirano.xcuserdatad/xcschemes/Stack.xcscheme:
--------------------------------------------------------------------------------
1 |
2 |
5 |
8 |
9 |
15 |
21 |
22 |
23 |
29 |
35 |
36 |
37 |
38 |
39 |
44 |
45 |
47 |
53 |
54 |
55 |
56 |
57 |
63 |
64 |
65 |
66 |
75 |
77 |
83 |
84 |
85 |
86 |
87 |
88 |
94 |
96 |
102 |
103 |
104 |
105 |
107 |
108 |
111 |
112 |
113 |
--------------------------------------------------------------------------------
/Stack.xcodeproj/xcuserdata/Tomoya_Hirano.xcuserdatad/xcschemes/xcschememanagement.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | SchemeUserState
6 |
7 | Stack.xcscheme
8 |
9 | orderHint
10 | 0
11 |
12 |
13 | SuppressBuildableAutocreation
14 |
15 | D71F95FA1AFB809500C4341E
16 |
17 | primary
18 |
19 |
20 | D71F96131AFB809600C4341E
21 |
22 | primary
23 |
24 |
25 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/Stack/AppDelegate.h:
--------------------------------------------------------------------------------
1 | //
2 | // AppDelegate.h
3 | // Stack
4 | //
5 | // Created by Tomoya_Hirano on 5/7/15.
6 | // Copyright (c) 2015 Tomoya_Hirano. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @interface AppDelegate : UIResponder
12 |
13 | @property (strong, nonatomic) UIWindow *window;
14 |
15 |
16 | @end
17 |
18 |
--------------------------------------------------------------------------------
/Stack/AppDelegate.m:
--------------------------------------------------------------------------------
1 | //
2 | // AppDelegate.m
3 | // Stack
4 | //
5 | // Created by Tomoya_Hirano on 5/7/15.
6 | // Copyright (c) 2015 Tomoya_Hirano. All rights reserved.
7 | //
8 |
9 | #import "AppDelegate.h"
10 |
11 | @interface AppDelegate ()
12 |
13 | @end
14 |
15 | @implementation AppDelegate
16 |
17 |
18 | - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
19 | // Override point for customization after application launch.
20 | return YES;
21 | }
22 |
23 | - (void)applicationWillResignActive:(UIApplication *)application {
24 | // 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.
25 | // 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.
26 | }
27 |
28 | - (void)applicationDidEnterBackground:(UIApplication *)application {
29 | // 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.
30 | // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits.
31 | }
32 |
33 | - (void)applicationWillEnterForeground:(UIApplication *)application {
34 | // 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.
35 | }
36 |
37 | - (void)applicationDidBecomeActive:(UIApplication *)application {
38 | // 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.
39 | }
40 |
41 | - (void)applicationWillTerminate:(UIApplication *)application {
42 | // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.
43 | }
44 |
45 | @end
46 |
--------------------------------------------------------------------------------
/Stack/Asset/0.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/noppefoxwolf/StackTableView/1fa201388eec13e2f37011438fc605971b0f4719/Stack/Asset/0.jpg
--------------------------------------------------------------------------------
/Stack/Asset/1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/noppefoxwolf/StackTableView/1fa201388eec13e2f37011438fc605971b0f4719/Stack/Asset/1.jpg
--------------------------------------------------------------------------------
/Stack/Asset/2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/noppefoxwolf/StackTableView/1fa201388eec13e2f37011438fc605971b0f4719/Stack/Asset/2.jpg
--------------------------------------------------------------------------------
/Stack/Asset/3.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/noppefoxwolf/StackTableView/1fa201388eec13e2f37011438fc605971b0f4719/Stack/Asset/3.jpg
--------------------------------------------------------------------------------
/Stack/Asset/4.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/noppefoxwolf/StackTableView/1fa201388eec13e2f37011438fc605971b0f4719/Stack/Asset/4.jpg
--------------------------------------------------------------------------------
/Stack/Asset/5.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/noppefoxwolf/StackTableView/1fa201388eec13e2f37011438fc605971b0f4719/Stack/Asset/5.jpg
--------------------------------------------------------------------------------
/Stack/Asset/6.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/noppefoxwolf/StackTableView/1fa201388eec13e2f37011438fc605971b0f4719/Stack/Asset/6.jpg
--------------------------------------------------------------------------------
/Stack/Asset/7.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/noppefoxwolf/StackTableView/1fa201388eec13e2f37011438fc605971b0f4719/Stack/Asset/7.jpg
--------------------------------------------------------------------------------
/Stack/Base.lproj/LaunchScreen.xib:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
20 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
--------------------------------------------------------------------------------
/Stack/Base.lproj/Main.storyboard:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
--------------------------------------------------------------------------------
/Stack/Images.xcassets/AppIcon.appiconset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "iphone",
5 | "size" : "29x29",
6 | "scale" : "2x"
7 | },
8 | {
9 | "idiom" : "iphone",
10 | "size" : "29x29",
11 | "scale" : "3x"
12 | },
13 | {
14 | "idiom" : "iphone",
15 | "size" : "40x40",
16 | "scale" : "2x"
17 | },
18 | {
19 | "idiom" : "iphone",
20 | "size" : "40x40",
21 | "scale" : "3x"
22 | },
23 | {
24 | "idiom" : "iphone",
25 | "size" : "60x60",
26 | "scale" : "2x"
27 | },
28 | {
29 | "idiom" : "iphone",
30 | "size" : "60x60",
31 | "scale" : "3x"
32 | }
33 | ],
34 | "info" : {
35 | "version" : 1,
36 | "author" : "xcode"
37 | }
38 | }
--------------------------------------------------------------------------------
/Stack/StackTableView/StackTableView.h:
--------------------------------------------------------------------------------
1 | //
2 | // StackTableView.h
3 | // Stack
4 | //
5 | // Created by Tomoya_Hirano on 5/7/15.
6 | // Copyright (c) 2015 Tomoya_Hirano. All rights reserved.
7 | //
8 |
9 | #import
10 | #import
11 |
12 | //extend delegate
13 | @class StackTableView;
14 | @protocol StackTableViewDelegate
15 | - (void)scrollViewDidScroll:(UIScrollView *)scrollView;
16 | @end
17 | @protocol StackTableViewDataSource
18 | @end
19 |
20 | @interface StackTableView : UITableView
21 | @end
--------------------------------------------------------------------------------
/Stack/StackTableView/StackTableView.m:
--------------------------------------------------------------------------------
1 | //
2 | // StackTableView.m
3 | // Stack
4 | //
5 | // Created by Tomoya_Hirano on 5/7/15.
6 | // Copyright (c) 2015 Tomoya_Hirano. All rights reserved.
7 | //
8 |
9 | #import "StackTableView.h"
10 |
11 | @interface StackTableView ()
12 | @end
13 |
14 | @implementation StackTableView{
15 | __weak id _mDelegate;
16 | __weak id _mDataSource;
17 | NSIndexPath*goastIndex;
18 | UIImageView*_goastView;
19 | }
20 |
21 | - (id)initWithFrame:(CGRect)frame style:(UITableViewStyle)style{
22 | self = [super initWithFrame:frame style:style];
23 | if (self) {
24 | [self setup];
25 | }
26 | return self;
27 | }
28 |
29 | - (id)initWithCoder:(NSCoder *)aDecoder{
30 | self = [super initWithCoder:aDecoder];
31 | if (self) {
32 | [self setup];
33 | }
34 | return self;
35 | }
36 |
37 | - (void)setup{
38 | self.delegate = self;
39 | self.dataSource = self;
40 | _goastView = [UIImageView new];
41 | _goastView.contentMode = UIViewContentModeTop|UIViewContentModeScaleAspectFit;
42 | self.backgroundView = _goastView;
43 | }
44 |
45 | - (void)setDelegate:(id)delegate{
46 | if (delegate == self) {
47 | [super setDelegate:delegate];
48 | } else {
49 | _mDelegate = (id)delegate;
50 | }
51 | }
52 |
53 | - (void)setDataSource:(id)dataSource{
54 | if (dataSource == self) {
55 | [super setDataSource:dataSource];
56 | }else{
57 | _mDataSource = (id)dataSource;
58 | }
59 | }
60 |
61 | #pragma mark - UITableViewDelegate
62 | - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{
63 | if ([_mDelegate respondsToSelector:@selector(tableView:heightForRowAtIndexPath:)]) {
64 | return [_mDelegate tableView:tableView heightForRowAtIndexPath:indexPath];
65 | }
66 | return 44;
67 | }
68 |
69 | - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
70 | if ([_mDelegate respondsToSelector:@selector(tableView:didSelectRowAtIndexPath:)]) {
71 | return [_mDelegate tableView:tableView didSelectRowAtIndexPath:indexPath];
72 | }
73 | }
74 |
75 | #pragma mark - UITableViewDataSource
76 |
77 | - (UITableViewCell*)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
78 | if ([_mDataSource respondsToSelector:@selector(tableView:cellForRowAtIndexPath:)]) {
79 | UITableViewCell*cell = [_mDataSource tableView:tableView cellForRowAtIndexPath:indexPath];
80 | cell.clipsToBounds = true;
81 | return cell;
82 | }
83 | return nil;
84 | }
85 |
86 | - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{
87 | if ([_mDataSource respondsToSelector:@selector(tableView:numberOfRowsInSection:)]) {
88 | return [_mDataSource tableView:tableView numberOfRowsInSection:section];
89 | }
90 | return 0;
91 | }
92 |
93 | #pragma mark - UIScrollViewDelegate
94 | - (void)scrollViewDidScroll:(UIScrollView *)scrollView{
95 | NSArray *paths = [self indexPathsForVisibleRows];
96 | for (NSIndexPath *path in paths) {
97 | UITableViewCell*cell = [self cellForRowAtIndexPath:path];
98 | cell.alpha = 1;
99 | }
100 |
101 | NSIndexPath *index = [paths firstObject];
102 | if ([self indexPathForRowAtPoint:scrollView.contentOffset]) {
103 | UITableViewCell*cell = [self cellForRowAtIndexPath:index];
104 | if (goastIndex != index || index.row == 0) {
105 | NSLog(@"capture");
106 | _goastView.image = [self imageFromView:cell];
107 | }
108 | cell.alpha = 0;
109 | goastIndex = index;
110 | }else{
111 | _goastView.image = nil;
112 | }
113 |
114 | if ([_mDelegate respondsToSelector:@selector(scrollViewDidScroll:)]) {
115 | [_mDelegate scrollViewDidScroll:scrollView];
116 | }
117 | }
118 |
119 | - (UIImage*)imageFromView:(UIView*)view{
120 | UIImage* image;
121 | UIGraphicsBeginImageContextWithOptions(view.frame.size, true, 2.0f);
122 | CGContextRef context = UIGraphicsGetCurrentContext();
123 | [view.layer renderInContext:context];
124 | image = UIGraphicsGetImageFromCurrentImageContext();
125 | UIGraphicsEndImageContext();
126 | return image;
127 | }
128 |
129 | @end
--------------------------------------------------------------------------------
/Stack/Supporting Files/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleExecutable
8 | $(EXECUTABLE_NAME)
9 | CFBundleIdentifier
10 | com.fivemeo.$(PRODUCT_NAME:rfc1034identifier)
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | $(PRODUCT_NAME)
15 | CFBundlePackageType
16 | APPL
17 | CFBundleShortVersionString
18 | 1.0
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | 1
23 | LSRequiresIPhoneOS
24 |
25 | UILaunchStoryboardName
26 | LaunchScreen
27 | UIMainStoryboardFile
28 | Main
29 | UIRequiredDeviceCapabilities
30 |
31 | armv7
32 |
33 | UISupportedInterfaceOrientations
34 |
35 | UIInterfaceOrientationPortrait
36 | UIInterfaceOrientationLandscapeLeft
37 | UIInterfaceOrientationLandscapeRight
38 |
39 |
40 |
41 |
--------------------------------------------------------------------------------
/Stack/Supporting Files/main.m:
--------------------------------------------------------------------------------
1 | //
2 | // main.m
3 | // Stack
4 | //
5 | // Created by Tomoya_Hirano on 5/7/15.
6 | // Copyright (c) 2015 Tomoya_Hirano. All rights reserved.
7 | //
8 |
9 | #import
10 | #import "AppDelegate.h"
11 |
12 | int main(int argc, char * argv[]) {
13 | @autoreleasepool {
14 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/Stack/ViewController.h:
--------------------------------------------------------------------------------
1 | //
2 | // ViewController.h
3 | // Stack
4 | //
5 | // Created by Tomoya_Hirano on 5/7/15.
6 | // Copyright (c) 2015 Tomoya_Hirano. All rights reserved.
7 | //
8 |
9 | #import
10 | #import "StackTableView.h"
11 |
12 |
13 | @interface ViewController : UIViewController
14 | @property (strong, nonatomic) IBOutlet StackTableView *tableView;
15 | @end
16 |
17 |
--------------------------------------------------------------------------------
/Stack/ViewController.m:
--------------------------------------------------------------------------------
1 | //
2 | // ViewController.m
3 | // Stack
4 | //
5 | // Created by Tomoya_Hirano on 5/7/15.
6 | // Copyright (c) 2015 Tomoya_Hirano. All rights reserved.
7 | //
8 |
9 | #import "ViewController.h"
10 |
11 | @interface ViewController (){
12 | NSMutableArray*images;
13 | }
14 |
15 | @end
16 |
17 | @implementation ViewController
18 |
19 | - (void)viewDidLoad {
20 | [super viewDidLoad];
21 | self.view.backgroundColor = [UIColor redColor];
22 |
23 | self.tableView.delegate = self;
24 | self.tableView.dataSource = self;
25 |
26 | images = [NSMutableArray new];
27 | for (int i=0; i<7; i++) {
28 | NSString*file = [NSString stringWithFormat:@"%d.jpg",i];
29 | [images addObject:[UIImage imageNamed:file]];
30 | }
31 | }
32 |
33 | - (void)didReceiveMemoryWarning {
34 | [super didReceiveMemoryWarning];
35 | }
36 |
37 | #pragma mark - UITableViewDelegate and DataSource
38 |
39 | - (UITableViewCell*)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
40 | UITableViewCell*cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"cell"];
41 |
42 | UIImageView*iv = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, self.view.bounds.size.width, 200)];
43 | iv.backgroundColor = [UIColor redColor];
44 | iv.image = images[indexPath.row%7];
45 | [cell.contentView addSubview:iv];
46 |
47 | UILabel*label = [[UILabel alloc] initWithFrame:CGRectMake(self.view.bounds.size.width/2, 0, self.view.bounds.size.width, 44)];
48 | NSString*text = [NSString stringWithFormat:@"index:%ld",(long)indexPath.row];
49 | [label setText:text];
50 | [label setTextColor: [UIColor whiteColor]];
51 | label.font =[UIFont fontWithName:@"AvenirNextCondensed-Bold" size:25];
52 | [cell.contentView addSubview: label];
53 |
54 | return cell;
55 | }
56 |
57 |
58 | - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{
59 | return 100;
60 | }
61 |
62 | - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{
63 | return 200;
64 | }
65 |
66 | - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath: (NSIndexPath *)indexPath {
67 | [tableView deselectRowAtIndexPath:indexPath animated:true];
68 | NSLog(@"touch");
69 | }
70 |
71 | @end
72 |
--------------------------------------------------------------------------------
/StackTests/StackTests.m:
--------------------------------------------------------------------------------
1 | //
2 | // StackTests.m
3 | // StackTests
4 | //
5 | // Created by Tomoya_Hirano on 5/7/15.
6 | // Copyright (c) 2015 Tomoya_Hirano. All rights reserved.
7 | //
8 |
9 | #import
10 | #import
11 |
12 | @interface StackTests : XCTestCase
13 |
14 | @end
15 |
16 | @implementation StackTests
17 |
18 | - (void)setUp {
19 | [super setUp];
20 | // Put setup code here. This method is called before the invocation of each test method in the class.
21 | }
22 |
23 | - (void)tearDown {
24 | // Put teardown code here. This method is called after the invocation of each test method in the class.
25 | [super tearDown];
26 | }
27 |
28 | - (void)testExample {
29 | // This is an example of a functional test case.
30 | XCTAssert(YES, @"Pass");
31 | }
32 |
33 | - (void)testPerformanceExample {
34 | // This is an example of a performance test case.
35 | [self measureBlock:^{
36 | // Put the code you want to measure the time of here.
37 | }];
38 | }
39 |
40 | @end
41 |
--------------------------------------------------------------------------------
/StackTests/Supporting Files/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleExecutable
8 | $(EXECUTABLE_NAME)
9 | CFBundleIdentifier
10 | com.fivemeo.$(PRODUCT_NAME:rfc1034identifier)
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | $(PRODUCT_NAME)
15 | CFBundlePackageType
16 | BNDL
17 | CFBundleShortVersionString
18 | 1.0
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | 1
23 |
24 |
25 |
--------------------------------------------------------------------------------
/sample.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/noppefoxwolf/StackTableView/1fa201388eec13e2f37011438fc605971b0f4719/sample.gif
--------------------------------------------------------------------------------