├── .gitignore ├── Carthage └── Build │ └── iOS │ ├── 49A60DC4-30A1-3A59-ADE8-69D87BF1B6F3.bcsymbolmap │ ├── ElegantTableView.framework.dSYM │ └── Contents │ │ ├── Info.plist │ │ └── Resources │ │ └── DWARF │ │ └── ElegantTableView │ ├── ElegantTableView.framework │ ├── ElegantTableView │ ├── Headers │ │ └── ElegantTableViewGenerator.h │ └── Info.plist │ └── FD44EF6E-2D75-3BD7-B4CF-29C32CA8120A.bcsymbolmap ├── ElegantTableView.podspec ├── ElegantTableView ├── ElegantTableViewGenerator.h └── ElegantTableViewGenerator.m ├── ElegantTableViewDemo.xcodeproj ├── project.pbxproj ├── project.xcworkspace │ ├── contents.xcworkspacedata │ └── xcuserdata │ │ └── yjhou.xcuserdatad │ │ └── UserInterfaceState.xcuserstate ├── xcshareddata │ └── xcschemes │ │ └── ElegantTableViewFramework.xcscheme └── xcuserdata │ └── yjhou.xcuserdatad │ ├── xcdebugger │ └── Breakpoints_v2.xcbkptlist │ └── xcschemes │ ├── ElegantTableViewDemo.xcscheme │ └── xcschememanagement.plist ├── ElegantTableViewDemo ├── AppDelegate.h ├── AppDelegate.m ├── Assets.xcassets │ └── AppIcon.appiconset │ │ └── Contents.json ├── Base.lproj │ ├── LaunchScreen.storyboard │ └── Main.storyboard ├── Info.plist ├── ViewController.h ├── ViewController.m └── main.m ├── ElegantTableViewFramework ├── ElegantTableViewFramework.h └── Info.plist ├── LICENSE └── README.md /.gitignore: -------------------------------------------------------------------------------- 1 | # Xcode 2 | # 3 | # gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore 4 | 5 | ## Build generated 6 | build/ 7 | DerivedData/ 8 | 9 | ## Various settings 10 | *.pbxuser 11 | !default.pbxuser 12 | *.mode1v3 13 | !default.mode1v3 14 | *.mode2v3 15 | !default.mode2v3 16 | *.perspectivev3 17 | !default.perspectivev3 18 | xcuserdata/ 19 | 20 | ## Other 21 | *.moved-aside 22 | *.xcuserstate 23 | *.DS_Store 24 | 25 | ## Obj-C/Swift specific 26 | *.hmap 27 | *.ipa 28 | *.dSYM.zip 29 | *.dSYM 30 | 31 | # CocoaPods 32 | # 33 | # We recommend against adding the Pods directory to your .gitignore. However 34 | # you should judge for yourself, the pros and cons are mentioned at: 35 | # https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control 36 | # 37 | # Pods/ 38 | 39 | # Carthage 40 | # 41 | # Add this line if you want to avoid checking in source code from Carthage dependencies. 42 | # Carthage/Checkouts 43 | 44 | Carthage/Build 45 | 46 | # fastlane 47 | # 48 | # It is recommended to not store the screenshots in the git repo. Instead, use fastlane to re-generate the 49 | # screenshots whenever they are needed. 50 | # For more information about the recommended setup visit: 51 | # https://github.com/fastlane/fastlane/blob/master/fastlane/docs/Gitignore.md 52 | 53 | fastlane/report.xml 54 | fastlane/screenshots 55 | 56 | #Code Injection 57 | # 58 | # After new code Injection tools there's a generated folder /iOSInjectionProject 59 | # https://github.com/johnno1962/injectionforxcode 60 | 61 | iOSInjectionProject/ 62 | -------------------------------------------------------------------------------- /Carthage/Build/iOS/49A60DC4-30A1-3A59-ADE8-69D87BF1B6F3.bcsymbolmap: -------------------------------------------------------------------------------- 1 | BCSymbolMap Version: 2.0 2 | +[ElegantTableViewGenerator shareInstance] 3 | ___42+[ElegantTableViewGenerator shareInstance]_block_invoke 4 | -[ElegantTableViewGenerator createTableViewWithTitles:subTitles:rowHeight:superView:didSelectRowBlock:didScrollBlock:] 5 | -[ElegantTableViewGenerator tableView:numberOfRowsInSection:] 6 | -[ElegantTableViewGenerator tableView:cellForRowAtIndexPath:] 7 | -[ElegantTableViewGenerator tableView:didSelectRowAtIndexPath:] 8 | -[ElegantTableViewGenerator scrollViewDidScroll:] 9 | -[ElegantTableViewGenerator titles] 10 | -[ElegantTableViewGenerator subTitles] 11 | -[ElegantTableViewGenerator setTitles:] 12 | -[ElegantTableViewGenerator setSubTitles:] 13 | -[ElegantTableViewGenerator didselectRowBlock] 14 | -[ElegantTableViewGenerator setDidselectRowBlock:] 15 | -[ElegantTableViewGenerator didScrollBlock] 16 | -[ElegantTableViewGenerator setDidScrollBlock:] 17 | -[ElegantTableViewGenerator .cxx_destruct] 18 | _shareInstance._instance 19 | _shareInstance.onceToken 20 | ___block_descriptor_tmp 21 | ___block_literal_global 22 | _OBJC_IVAR_$_ElegantTableViewGenerator._titles 23 | _OBJC_IVAR_$_ElegantTableViewGenerator._subTitles 24 | _OBJC_IVAR_$_ElegantTableViewGenerator._didselectRowBlock 25 | _OBJC_IVAR_$_ElegantTableViewGenerator._didScrollBlock 26 | l_OBJC_PROTOCOL_$_NSObject 27 | l_OBJC_LABEL_PROTOCOL_$_NSObject 28 | l_OBJC_PROTOCOL_$_UIScrollViewDelegate 29 | l_OBJC_LABEL_PROTOCOL_$_UIScrollViewDelegate 30 | l_OBJC_PROTOCOL_$_UITableViewDelegate 31 | l_OBJC_LABEL_PROTOCOL_$_UITableViewDelegate 32 | l_OBJC_PROTOCOL_$_UITableViewDataSource 33 | l_OBJC_LABEL_PROTOCOL_$_UITableViewDataSource 34 | Apple LLVM version 8.1.0 (clang-802.0.42) 35 | /Users/yjhou/YJBSCode/ElegantTableView/ElegantTableView/ElegantTableViewGenerator.m 36 | /Users/yjhou/YJBSCode/ElegantTableView 37 | __42+[ElegantTableViewGenerator shareInstance]_block_invoke 38 | _dispatch_once 39 | /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.3.sdk/usr/include/dispatch/once.h 40 | /Users/yjhou/Library/Developer/Xcode/DerivedData/ElegantTableViewDemo-bvtgvpovtnuoaxakregbgsamqbru/Build/Intermediates/ElegantTableViewDemo.build/Release-iphoneos/ElegantTableViewFramework.build/DerivedSources/ElegantTableView_vers.c 41 | __ZL15__ARCLite__loadv 42 | __ZL30add_image_hook_autoreleasepoolPK11mach_headerl 43 | __ZL34__arclite_objc_autoreleasePoolPushv 44 | __ZL33__arclite_objc_autoreleasePoolPopPv 45 | __ZL19patch_lazy_pointersPK11mach_headerP7patch_tm 46 | __ZL42__arclite_NSArray_objectAtIndexedSubscriptP7NSArrayP13objc_selectorj 47 | __ZL53__arclite_NSMutableArray_setObject_atIndexedSubscriptP14NSMutableArrayP13objc_selectorP11objc_objectj 48 | __ZL46__arclite_NSDictionary_objectForKeyedSubscriptP12NSDictionaryP13objc_selectorP11objc_object 49 | __ZL47__arclite_NSOrderedSet_objectAtIndexedSubscriptP12NSOrderedSetP13objc_selectorj 50 | __ZL58__arclite_NSMutableOrderedSet_setObject_atIndexedSubscriptP19NSMutableOrderedSetP13objc_selectorP11objc_objectj 51 | __ZL58__arclite_NSMutableDictionary__setObject_forKeyedSubscriptP19NSMutableDictionaryP13objc_selectorP11objc_objectS4_ 52 | __ZL18add_image_hook_ARCPK11mach_headerl 53 | __ZL36__arclite_object_setInstanceVariableP11objc_objectPKcPv 54 | __ZL24__arclite_object_setIvarP11objc_objectP9objc_ivarS0_ 55 | __ZL21__arclite_object_copyP11objc_objectm 56 | __ZL21__arclite_objc_retainP11objc_object 57 | __ZL26__arclite_objc_retainBlockP11objc_object 58 | __ZL22__arclite_objc_releaseP11objc_object 59 | __ZL26__arclite_objc_autoreleaseP11objc_object 60 | __ZL32__arclite_objc_retainAutoreleaseP11objc_object 61 | __ZL37__arclite_objc_autoreleaseReturnValueP11objc_object 62 | __ZL43__arclite_objc_retainAutoreleaseReturnValueP11objc_object 63 | __ZL44__arclite_objc_retainAutoreleasedReturnValueP11objc_object 64 | __ZL26__arclite_objc_storeStrongPP11objc_objectS0_ 65 | __ZL22add_image_hook_swiftV1PK11mach_headerl 66 | __ZL42__arclite_NSUndoManagerProxy_isKindOfClassP11objc_objectP13objc_selectorP10objc_class 67 | __ZL13replaceMethodP10objc_classP13objc_selectorPFP11objc_objectS4_S2_zEPS6_ 68 | __ZL30__arclite_NSManagedObject_initP11objc_objectP13objc_selector 69 | __ZL41__arclite_NSManagedObject_allocWithEntityP11objc_objectP13objc_selectorS0_ 70 | __ZL36__arclite_NSManagedObject_allocBatchP11objc_objectP13objc_selectorPS0_S0_j 71 | __ZL37__arclite_NSKKMS_fastIndexForKnownKeyP11objc_objectP13objc_selectorS0_ 72 | __ZL28__arclite_NSKKMS_indexForKeyP11objc_objectP13objc_selectorS0_ 73 | __ZL29__arclite_NSKKsD_objectForKeyP11objc_objectP13objc_selectorS0_ 74 | __ZL35__arclite_NSKKsD_removeObjectForKeyP11objc_objectP13objc_selectorS0_ 75 | __ZL33__arclite_NSKKsD_setObject_forKeyP11objc_objectP13objc_selectorS0_S0_ 76 | __ZL41__arclite_NSKKsD_addEntriesFromDictionaryP11objc_objectP13objc_selectorP12NSDictionary 77 | __ZL28__arclite_objc_readClassPairP10objc_classPK15objc_image_info 78 | __ZL32__arclite_objc_allocateClassPairP10objc_classPKcm 79 | __ZL32__arclite_object_getIndexedIvarsP11objc_object 80 | __ZL23__arclite_objc_getClassPKc 81 | __ZL27__arclite_objc_getMetaClassPKc 82 | __ZL31__arclite_objc_getRequiredClassPKc 83 | __ZL26__arclite_objc_lookUpClassPKc 84 | __ZL26__arclite_objc_getProtocolPKc 85 | __ZL23__arclite_class_getNameP10objc_class 86 | __ZL26__arclite_protocol_getNameP8Protocol 87 | __ZL37__arclite_objc_copyClassNamesForImagePKcPj 88 | __ZL17transcribeMethodsP10objc_classP15glue_class_ro_t 89 | __ZL19transcribeProtocolsP10objc_classP15glue_class_ro_t 90 | __ZL20transcribePropertiesP10objc_classP15glue_class_ro_t 91 | __ZL14initialize_impP11objc_objectP13objc_selector 92 | __ZL18allocateMaybeSwiftP18glue_swift_class_tm 93 | __ZL22copySwiftV1MangledNamePKcb 94 | __ZL13demangledNamePKcb 95 | __ZL16scanMangledFieldRPKcS0_S1_Ri 96 | __ZL30arclite_uninitialized_functionv 97 | __ZL12cxxConstructP11objc_object 98 | __ZL20fixStringForCoreDataP11objc_object 99 | _OBJC_METACLASS_$___ARCLite__ 100 | __ZL24OBJC_CLASS_$___ARCLite__ 101 | __ZL31OBJC_METACLASS_RO_$___ARCLite__ 102 | __non_lazy_classes 103 | __ZL27OBJC_CLASS_RO_$___ARCLite__ 104 | __ZL11_class_name 105 | __ZL32OBJC_$_CLASS_METHODS___ARCLite__ 106 | __ZL17_load_method_name 107 | __ZL17_load_method_type 108 | __ZL23NSAutoreleasePool_class 109 | __ZZL30add_image_hook_autoreleasepoolPK11mach_headerlE7patches 110 | __ZGVZL30add_image_hook_autoreleasepoolPK11mach_headerlE7patches 111 | l_OBJC_PROTOCOL_$___ARCLiteIndexedSubscripting__ 112 | l_OBJC_LABEL_PROTOCOL_$___ARCLiteIndexedSubscripting__ 113 | l_OBJC_PROTOCOL_REFERENCE_$___ARCLiteIndexedSubscripting__ 114 | l_OBJC_PROTOCOL_$___ARCLiteKeyedSubscripting__ 115 | l_OBJC_LABEL_PROTOCOL_$___ARCLiteKeyedSubscripting__ 116 | l_OBJC_PROTOCOL_REFERENCE_$___ARCLiteKeyedSubscripting__ 117 | __ZZL18add_image_hook_ARCPK11mach_headerlE7patches 118 | __ZGVZL18add_image_hook_ARCPK11mach_headerlE7patches 119 | __ZL30NSUndoManagerProxy_targetClass 120 | __ZL29original_NSManagedObject_init 121 | __ZL40original_NSManagedObject_allocWithEntity 122 | __ZL35original_NSManagedObject_allocBatch 123 | __ZL25NSMutableDictionary_class 124 | __ZL22NSConstantString_class 125 | __ZL14NSString_class 126 | __ZL36original_NSKKMS_fastIndexForKnownKey 127 | __ZL27original_NSKKMS_indexForKey 128 | __ZL28original_NSKKsD_objectForKey 129 | __ZL34original_NSKKsD_removeObjectForKey 130 | __ZL32original_NSKKsD_setObject_forKey 131 | __ZL40original_NSKKsD_addEntriesFromDictionary 132 | __ZZL22add_image_hook_swiftV1PK11mach_headerlE7patches 133 | __ZGVZL22add_image_hook_swiftV1PK11mach_headerlE7patches 134 | __ZL31original_objc_allocateClassPair 135 | __ZL31original_object_getIndexedIvars 136 | __ZL22original_objc_getClass 137 | __ZL26original_objc_getMetaClass 138 | __ZL30original_objc_getRequiredClass 139 | __ZL25original_objc_lookUpClass 140 | __ZL25original_objc_getProtocol 141 | __ZL22original_class_getName 142 | __ZL25original_protocol_getName 143 | __ZL36original_objc_copyClassNamesForImage 144 | __ZL12demangleLock 145 | __ZL9Demangled 146 | /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -x objective-c++ -arch armv7 -fmessage-length=0 -fdiagnostics-show-note-include-stack -fmacro-backtrace-limit=0 -std=c++11 -Wno-trigraphs -fno-exceptions -fno-rtti -mpascal-strings -Os -Wno-missing-field-initializers -Wmissing-prototypes -Wno-implicit-atomic-properties -Wno-arc-repeated-use-of-weak -Wno-non-virtual-dtor -Wno-overloaded-virtual -Wno-exit-time-destructors -Wno-missing-braces -Wparentheses -Wswitch -Wno-unused-function -Wno-unused-label -Wno-unused-parameter -Wunused-variable -Wunused-value -Wno-empty-body -Wno-uninitialized -Wno-unknown-pragmas -Wno-shadow -Wno-four-char-constants -Wno-conversion -Wno-constant-conversion -Wno-int-conversion -Wno-bool-conversion -Wno-enum-conversion -Wshorten-64-to-32 -Wno-newline-eof -Wno-selector -Wno-strict-selector-match -Wno-undeclared-selector -Wno-deprecated-implementations -Wno-c++11-extensions -D NDEBUG=1 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.3.Internal.sdk -fstrict-aliasing -Wprotocol -Wdeprecated-declarations -Winvalid-offsetof -miphoneos-version-min=4.3 -g -fno-threadsafe-statics -Wno-sign-conversion -Wno-infinite-recursion -Wno-move -fembed-bitcode=all -iquote /Library/Caches/com.apple.xbs/Binaries/arclite_iOS/arclite_iOS-66~534/TempContent/Objects/arclite.build/arclite_iOS.build/arclite_iphoneos-generated-files.hmap -I /Library/Caches/com.apple.xbs/Binaries/arclite_iOS/arclite_iOS-66~534/TempContent/Objects/arclite.build/arclite_iOS.build/arclite_iphoneos-own-target-headers.hmap -I /Library/Caches/com.apple.xbs/Binaries/arclite_iOS/arclite_iOS-66~534/TempContent/Objects/arclite.build/arclite_iOS.build/arclite_iphoneos-all-target-headers.hmap -iquote /Library/Caches/com.apple.xbs/Binaries/arclite_iOS/arclite_iOS-66~534/TempContent/Objects/arclite.build/arclite_iOS.build/arclite_iphoneos-project-headers.hmap -I /Library/Caches/com.apple.xbs/Binaries/arclite_iOS/arclite_iOS-66~534/Symbols/BuiltProducts/include -I /Library/Caches/com.apple.xbs/Binaries/arclite_iOS/arclite_iOS-66~534/TempContent/Objects/arclite.build/arclite_iOS.build/DerivedSources/armv7 -I /Library/Caches/com.apple.xbs/Binaries/arclite_iOS/arclite_iOS-66~534/TempContent/Objects/arclite.build/arclite_iOS.build/DerivedSources -F/Library/Caches/com.apple.xbs/Binaries/arclite_iOS/arclite_iOS-66~534/Symbols/BuiltProducts -F/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.3.Internal.sdk/System/Library/PrivateFrameworks -Wall -Wextra -Wno-gcc-compat -Wno-error=incomplete-umbrella -Wno-error=incomplete-umbrella -MMD -MT dependencies -MF /Library/Caches/com.apple.xbs/Binaries/arclite_iOS/arclite_iOS-66~534/TempContent/Objects/arclite.build/arclite_iOS.build/Objects-normal/armv7/arclite.d --serialize-diagnostics /Library/Caches/com.apple.xbs/Binaries/arclite_iOS/arclite_iOS-66~534/TempContent/Objects/arclite.build/arclite_iOS.build/Objects-normal/armv7/arclite.dia -c /Library/Caches/com.apple.xbs/Sources/arclite_iOS/arclite-66/source/arclite.mm -o /Library/Caches/com.apple.xbs/Binaries/arclite_iOS/arclite_iOS-66~534/TempContent/Objects/arclite.build/arclite_iOS.build/Objects-normal/armv7/arclite.o -mlinker-version=278.4 -march=armv7a 147 | /Library/Caches/com.apple.xbs/Sources/arclite_iOS/arclite-66/source/arclite.mm 148 | /Library/Caches/com.apple.xbs/Sources/arclite_iOS/arclite-66 149 | fixStringForCoreData 150 | cxxConstruct 151 | arclite_uninitialized_function 152 | scanMangledField 153 | isdigit 154 | /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.3.Internal.sdk/usr/include/ctype.h 155 | __isctype 156 | demangledName 157 | copySwiftV1DemangledName 158 | copySwiftV1MangledName 159 | allocateMaybeSwift 160 | word_align 161 | isSwift 162 | initialize_imp 163 | transcribeProperties 164 | property_list_nth 165 | transcribeProtocols 166 | transcribeMethods 167 | data 168 | method_list_nth 169 | __arclite_objc_copyClassNamesForImage 170 | __arclite_protocol_getName 171 | __arclite_class_getName 172 | __arclite_objc_getProtocol 173 | __arclite_objc_lookUpClass 174 | __arclite_objc_getRequiredClass 175 | __arclite_objc_getMetaClass 176 | __arclite_objc_getClass 177 | __arclite_object_getIndexedIvars 178 | __arclite_objc_allocateClassPair 179 | metaclass 180 | __arclite_objc_readClassPair 181 | transcribeIvars 182 | ivar_list_nth 183 | max 184 | alignment 185 | ro 186 | fastFlags 187 | __arclite_NSKKsD_addEntriesFromDictionary 188 | __arclite_NSKKsD_setObject_forKey 189 | __arclite_NSKKsD_removeObjectForKey 190 | __arclite_NSKKsD_objectForKey 191 | __arclite_NSKKMS_indexForKey 192 | __arclite_NSKKMS_fastIndexForKnownKey 193 | __arclite_NSManagedObject_allocBatch 194 | __arclite_NSManagedObject_allocWithEntity 195 | __arclite_NSManagedObject_init 196 | replaceMethod 197 | __arclite_NSUndoManagerProxy_isKindOfClass 198 | add_image_hook_swiftV1 199 | patch_t 200 | patch_t 201 | patch_t 202 | patch_t 203 | patch_t 204 | patch_t 205 | patch_t 206 | patch_t 207 | __arclite_objc_storeStrong 208 | __arclite_objc_release 209 | __arclite_objc_retain 210 | __arclite_objc_retainAutoreleasedReturnValue 211 | __arclite_objc_retainAutoreleaseReturnValue 212 | __arclite_objc_autoreleaseReturnValue 213 | __arclite_objc_retainAutorelease 214 | __arclite_objc_autorelease 215 | __arclite_objc_retainBlock 216 | __arclite_object_copy 217 | fixupCopiedReferences 218 | _class_getInstanceStart 219 | alignedInstanceStart 220 | __arclite_class_usesAutomaticRetainRelease 221 | classOrSuperClassesUseARR 222 | __arclite_object_setIvar 223 | isScannedOffset 224 | _ivar_getClass 225 | __arclite_object_setInstanceVariable 226 | add_image_hook_ARC 227 | patch_t 228 | patch_t 229 | patch_t 230 | patch_t 231 | patch_t 232 | patch_t 233 | __arclite_NSMutableDictionary__setObject_forKeyedSubscript 234 | __arclite_NSMutableOrderedSet_setObject_atIndexedSubscript 235 | __arclite_NSOrderedSet_objectAtIndexedSubscript 236 | __arclite_NSDictionary_objectForKeyedSubscript 237 | __arclite_NSMutableArray_setObject_atIndexedSubscript 238 | __arclite_NSArray_objectAtIndexedSubscript 239 | patch_lazy_pointers 240 | __arclite_objc_autoreleasePoolPop 241 | __arclite_objc_autoreleasePoolPush 242 | add_image_hook_autoreleasepool 243 | patch_t 244 | patch_t 245 | __ARCLite__load 246 | install_swiftV1 247 | install_ARC 248 | install_dict_nil_value 249 | addOrReplaceMethod 250 | keyedGetter 251 | install_subscripting 252 | addMethod 253 | indexedGetter 254 | install_autoreleasepool 255 | -------------------------------------------------------------------------------- /Carthage/Build/iOS/ElegantTableView.framework.dSYM/Contents/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | English 7 | CFBundleIdentifier 8 | com.apple.xcode.dsym.com.houmanager.ElegantTableViewFramework 9 | CFBundleInfoDictionaryVersion 10 | 6.0 11 | CFBundlePackageType 12 | dSYM 13 | CFBundleSignature 14 | ???? 15 | CFBundleShortVersionString 16 | 1.0 17 | CFBundleVersion 18 | 1 19 | 20 | 21 | -------------------------------------------------------------------------------- /Carthage/Build/iOS/ElegantTableView.framework.dSYM/Contents/Resources/DWARF/ElegantTableView: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hoaye/ElegantTableView/8b35ceded2c987b2152d8003cc3a670a082c99e2/Carthage/Build/iOS/ElegantTableView.framework.dSYM/Contents/Resources/DWARF/ElegantTableView -------------------------------------------------------------------------------- /Carthage/Build/iOS/ElegantTableView.framework/ElegantTableView: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hoaye/ElegantTableView/8b35ceded2c987b2152d8003cc3a670a082c99e2/Carthage/Build/iOS/ElegantTableView.framework/ElegantTableView -------------------------------------------------------------------------------- /Carthage/Build/iOS/ElegantTableView.framework/Headers/ElegantTableViewGenerator.h: -------------------------------------------------------------------------------- 1 | // 2 | // ElegantTableViewGenerator.h 3 | // ElegantTableViewDemo 4 | // 5 | // Created by YJHou on 2017/7/3. 6 | // Copyright © 2017年 侯跃军. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | typedef void(^didSelectRowHandleBlock)(UITableView *tableView, NSIndexPath *indexPath); 12 | typedef void(^didScrollHandleBlock)(UIScrollView *tableView, CGPoint contentOffset); 13 | 14 | @interface ElegantTableViewGenerator : NSObject 15 | 16 | /** 单例 */ 17 | + (ElegantTableViewGenerator *)shareInstance; 18 | 19 | /** 创建tableView */ 20 | - (UITableView *)createTableViewWithTitles:(NSArray *)titles 21 | subTitles:(NSArray *)subTitles 22 | rowHeight:(CGFloat)rowHeight 23 | superView:(UIView *)superView 24 | didSelectRowBlock:(didSelectRowHandleBlock)didSelectRowBlock 25 | didScrollBlock:(didScrollHandleBlock)didScrollBlock; 26 | 27 | @end 28 | -------------------------------------------------------------------------------- /Carthage/Build/iOS/ElegantTableView.framework/Info.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hoaye/ElegantTableView/8b35ceded2c987b2152d8003cc3a670a082c99e2/Carthage/Build/iOS/ElegantTableView.framework/Info.plist -------------------------------------------------------------------------------- /Carthage/Build/iOS/FD44EF6E-2D75-3BD7-B4CF-29C32CA8120A.bcsymbolmap: -------------------------------------------------------------------------------- 1 | BCSymbolMap Version: 2.0 2 | +[ElegantTableViewGenerator shareInstance] 3 | ___42+[ElegantTableViewGenerator shareInstance]_block_invoke 4 | -[ElegantTableViewGenerator createTableViewWithTitles:subTitles:rowHeight:superView:didSelectRowBlock:didScrollBlock:] 5 | -[ElegantTableViewGenerator tableView:numberOfRowsInSection:] 6 | -[ElegantTableViewGenerator tableView:cellForRowAtIndexPath:] 7 | -[ElegantTableViewGenerator tableView:didSelectRowAtIndexPath:] 8 | -[ElegantTableViewGenerator scrollViewDidScroll:] 9 | -[ElegantTableViewGenerator titles] 10 | -[ElegantTableViewGenerator subTitles] 11 | -[ElegantTableViewGenerator setTitles:] 12 | -[ElegantTableViewGenerator setSubTitles:] 13 | -[ElegantTableViewGenerator didselectRowBlock] 14 | -[ElegantTableViewGenerator setDidselectRowBlock:] 15 | -[ElegantTableViewGenerator didScrollBlock] 16 | -[ElegantTableViewGenerator setDidScrollBlock:] 17 | -[ElegantTableViewGenerator .cxx_destruct] 18 | _shareInstance._instance 19 | _shareInstance.onceToken 20 | ___block_descriptor_tmp 21 | ___block_literal_global 22 | _OBJC_IVAR_$_ElegantTableViewGenerator._titles 23 | _OBJC_IVAR_$_ElegantTableViewGenerator._subTitles 24 | _OBJC_IVAR_$_ElegantTableViewGenerator._didselectRowBlock 25 | _OBJC_IVAR_$_ElegantTableViewGenerator._didScrollBlock 26 | l_OBJC_PROTOCOL_$_NSObject 27 | l_OBJC_LABEL_PROTOCOL_$_NSObject 28 | l_OBJC_PROTOCOL_$_UIScrollViewDelegate 29 | l_OBJC_LABEL_PROTOCOL_$_UIScrollViewDelegate 30 | l_OBJC_PROTOCOL_$_UITableViewDelegate 31 | l_OBJC_LABEL_PROTOCOL_$_UITableViewDelegate 32 | l_OBJC_PROTOCOL_$_UITableViewDataSource 33 | l_OBJC_LABEL_PROTOCOL_$_UITableViewDataSource 34 | Apple LLVM version 8.1.0 (clang-802.0.42) 35 | /Users/yjhou/YJBSCode/ElegantTableView/ElegantTableView/ElegantTableViewGenerator.m 36 | /Users/yjhou/YJBSCode/ElegantTableView 37 | __42+[ElegantTableViewGenerator shareInstance]_block_invoke 38 | _dispatch_once 39 | /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.3.sdk/usr/include/dispatch/once.h 40 | /Users/yjhou/Library/Developer/Xcode/DerivedData/ElegantTableViewDemo-bvtgvpovtnuoaxakregbgsamqbru/Build/Intermediates/ElegantTableViewDemo.build/Release-iphoneos/ElegantTableViewFramework.build/DerivedSources/ElegantTableView_vers.c 41 | __ZL15__ARCLite__loadv 42 | __ZL58__arclite_NSMutableDictionary__setObject_forKeyedSubscriptP19NSMutableDictionaryP13objc_selectorP11objc_objectS4_ 43 | __ZL22add_image_hook_swiftV1PK11mach_headerl 44 | __ZL42__arclite_NSUndoManagerProxy_isKindOfClassP11objc_objectP13objc_selectorP10objc_class 45 | __ZL13replaceMethodP10objc_classP13objc_selectorPFP11objc_objectS4_S2_zEPS6_ 46 | __ZL30__arclite_NSManagedObject_initP11objc_objectP13objc_selector 47 | __ZL41__arclite_NSManagedObject_allocWithEntityP11objc_objectP13objc_selectorS0_ 48 | __ZL36__arclite_NSManagedObject_allocBatchP11objc_objectP13objc_selectorPS0_S0_j 49 | __ZL37__arclite_NSKKMS_fastIndexForKnownKeyP11objc_objectP13objc_selectorS0_ 50 | __ZL28__arclite_NSKKMS_indexForKeyP11objc_objectP13objc_selectorS0_ 51 | __ZL29__arclite_NSKKsD_objectForKeyP11objc_objectP13objc_selectorS0_ 52 | __ZL35__arclite_NSKKsD_removeObjectForKeyP11objc_objectP13objc_selectorS0_ 53 | __ZL33__arclite_NSKKsD_setObject_forKeyP11objc_objectP13objc_selectorS0_S0_ 54 | __ZL41__arclite_NSKKsD_addEntriesFromDictionaryP11objc_objectP13objc_selectorP12NSDictionary 55 | __ZL28__arclite_objc_readClassPairP10objc_classPK15objc_image_info 56 | __ZL32__arclite_objc_allocateClassPairP10objc_classPKcm 57 | __ZL32__arclite_object_getIndexedIvarsP11objc_object 58 | __ZL23__arclite_objc_getClassPKc 59 | __ZL27__arclite_objc_getMetaClassPKc 60 | __ZL31__arclite_objc_getRequiredClassPKc 61 | __ZL26__arclite_objc_lookUpClassPKc 62 | __ZL26__arclite_objc_getProtocolPKc 63 | __ZL23__arclite_class_getNameP10objc_class 64 | __ZL26__arclite_protocol_getNameP8Protocol 65 | __ZL37__arclite_objc_copyClassNamesForImagePKcPj 66 | __ZL17transcribeMethodsP10objc_classP15glue_class_ro_t 67 | __ZL19transcribeProtocolsP10objc_classP15glue_class_ro_t 68 | __ZL20transcribePropertiesP10objc_classP15glue_class_ro_t 69 | __ZL14initialize_impP11objc_objectP13objc_selector 70 | __ZL18allocateMaybeSwiftP18glue_swift_class_tm 71 | __ZL22copySwiftV1MangledNamePKcb 72 | __ZL13demangledNamePKcb 73 | __ZL16scanMangledFieldRPKcS0_S1_Ri 74 | __ZL30arclite_uninitialized_functionv 75 | __ZL12cxxConstructP11objc_object 76 | __ZL20fixStringForCoreDataP11objc_object 77 | _OBJC_METACLASS_$___ARCLite__ 78 | __ZL24OBJC_CLASS_$___ARCLite__ 79 | __ZL31OBJC_METACLASS_RO_$___ARCLite__ 80 | __non_lazy_classes 81 | __ZL27OBJC_CLASS_RO_$___ARCLite__ 82 | __ZL11_class_name 83 | __ZL32OBJC_$_CLASS_METHODS___ARCLite__ 84 | __ZL17_load_method_name 85 | __ZL17_load_method_type 86 | l_OBJC_PROTOCOL_$___ARCLiteKeyedSubscripting__ 87 | l_OBJC_LABEL_PROTOCOL_$___ARCLiteKeyedSubscripting__ 88 | l_OBJC_PROTOCOL_REFERENCE_$___ARCLiteKeyedSubscripting__ 89 | __ZL30NSUndoManagerProxy_targetClass 90 | __ZL29original_NSManagedObject_init 91 | __ZL40original_NSManagedObject_allocWithEntity 92 | __ZL35original_NSManagedObject_allocBatch 93 | __ZL25NSMutableDictionary_class 94 | __ZL22NSConstantString_class 95 | __ZL14NSString_class 96 | __ZL36original_NSKKMS_fastIndexForKnownKey 97 | __ZL27original_NSKKMS_indexForKey 98 | __ZL28original_NSKKsD_objectForKey 99 | __ZL34original_NSKKsD_removeObjectForKey 100 | __ZL32original_NSKKsD_setObject_forKey 101 | __ZL40original_NSKKsD_addEntriesFromDictionary 102 | __ZZL22add_image_hook_swiftV1PK11mach_headerlE7patches 103 | __ZGVZL22add_image_hook_swiftV1PK11mach_headerlE7patches 104 | __ZL31original_objc_allocateClassPair 105 | __ZL31original_object_getIndexedIvars 106 | __ZL22original_objc_getClass 107 | __ZL26original_objc_getMetaClass 108 | __ZL30original_objc_getRequiredClass 109 | __ZL25original_objc_lookUpClass 110 | __ZL25original_objc_getProtocol 111 | __ZL22original_class_getName 112 | __ZL25original_protocol_getName 113 | __ZL36original_objc_copyClassNamesForImage 114 | __ZL12demangleLock 115 | __ZL9Demangled 116 | /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -x objective-c++ -arch arm64 -fmessage-length=0 -fdiagnostics-show-note-include-stack -fmacro-backtrace-limit=0 -std=c++11 -Wno-trigraphs -fno-exceptions -fno-rtti -mpascal-strings -Os -Wno-missing-field-initializers -Wmissing-prototypes -Wno-implicit-atomic-properties -Wno-arc-repeated-use-of-weak -Wno-non-virtual-dtor -Wno-overloaded-virtual -Wno-exit-time-destructors -Wno-missing-braces -Wparentheses -Wswitch -Wno-unused-function -Wno-unused-label -Wno-unused-parameter -Wunused-variable -Wunused-value -Wno-empty-body -Wno-uninitialized -Wno-unknown-pragmas -Wno-shadow -Wno-four-char-constants -Wno-conversion -Wno-constant-conversion -Wno-int-conversion -Wno-bool-conversion -Wno-enum-conversion -Wshorten-64-to-32 -Wno-newline-eof -Wno-selector -Wno-strict-selector-match -Wno-undeclared-selector -Wno-deprecated-implementations -Wno-c++11-extensions -D NDEBUG=1 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.3.Internal.sdk -fstrict-aliasing -Wprotocol -Wdeprecated-declarations -Winvalid-offsetof -miphoneos-version-min=4.3 -g -fno-threadsafe-statics -Wno-sign-conversion -Wno-infinite-recursion -Wno-move -fembed-bitcode=all -iquote /Library/Caches/com.apple.xbs/Binaries/arclite_iOS/arclite_iOS-66~534/TempContent/Objects/arclite.build/arclite_iOS.build/arclite_iphoneos-generated-files.hmap -I /Library/Caches/com.apple.xbs/Binaries/arclite_iOS/arclite_iOS-66~534/TempContent/Objects/arclite.build/arclite_iOS.build/arclite_iphoneos-own-target-headers.hmap -I /Library/Caches/com.apple.xbs/Binaries/arclite_iOS/arclite_iOS-66~534/TempContent/Objects/arclite.build/arclite_iOS.build/arclite_iphoneos-all-target-headers.hmap -iquote /Library/Caches/com.apple.xbs/Binaries/arclite_iOS/arclite_iOS-66~534/TempContent/Objects/arclite.build/arclite_iOS.build/arclite_iphoneos-project-headers.hmap -I /Library/Caches/com.apple.xbs/Binaries/arclite_iOS/arclite_iOS-66~534/Symbols/BuiltProducts/include -I /Library/Caches/com.apple.xbs/Binaries/arclite_iOS/arclite_iOS-66~534/TempContent/Objects/arclite.build/arclite_iOS.build/DerivedSources/arm64 -I /Library/Caches/com.apple.xbs/Binaries/arclite_iOS/arclite_iOS-66~534/TempContent/Objects/arclite.build/arclite_iOS.build/DerivedSources -F/Library/Caches/com.apple.xbs/Binaries/arclite_iOS/arclite_iOS-66~534/Symbols/BuiltProducts -F/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.3.Internal.sdk/System/Library/PrivateFrameworks -Wall -Wextra -Wno-gcc-compat -Wno-error=incomplete-umbrella -Wno-error=incomplete-umbrella -MMD -MT dependencies -MF /Library/Caches/com.apple.xbs/Binaries/arclite_iOS/arclite_iOS-66~534/TempContent/Objects/arclite.build/arclite_iOS.build/Objects-normal/arm64/arclite.d --serialize-diagnostics /Library/Caches/com.apple.xbs/Binaries/arclite_iOS/arclite_iOS-66~534/TempContent/Objects/arclite.build/arclite_iOS.build/Objects-normal/arm64/arclite.dia -c /Library/Caches/com.apple.xbs/Sources/arclite_iOS/arclite-66/source/arclite.mm -o /Library/Caches/com.apple.xbs/Binaries/arclite_iOS/arclite_iOS-66~534/TempContent/Objects/arclite.build/arclite_iOS.build/Objects-normal/arm64/arclite.o -mlinker-version=278.4 117 | /Library/Caches/com.apple.xbs/Sources/arclite_iOS/arclite-66/source/arclite.mm 118 | /Library/Caches/com.apple.xbs/Sources/arclite_iOS/arclite-66 119 | fixStringForCoreData 120 | cxxConstruct 121 | arclite_uninitialized_function 122 | scanMangledField 123 | isdigit 124 | /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.3.Internal.sdk/usr/include/ctype.h 125 | __isctype 126 | demangledName 127 | copySwiftV1DemangledName 128 | copySwiftV1MangledName 129 | allocateMaybeSwift 130 | word_align 131 | isSwift 132 | initialize_imp 133 | transcribeProperties 134 | property_list_nth 135 | transcribeProtocols 136 | transcribeMethods 137 | data 138 | method_list_nth 139 | __arclite_objc_copyClassNamesForImage 140 | __arclite_protocol_getName 141 | __arclite_class_getName 142 | __arclite_objc_getProtocol 143 | __arclite_objc_lookUpClass 144 | __arclite_objc_getRequiredClass 145 | __arclite_objc_getMetaClass 146 | __arclite_objc_getClass 147 | __arclite_object_getIndexedIvars 148 | __arclite_objc_allocateClassPair 149 | metaclass 150 | __arclite_objc_readClassPair 151 | transcribeIvars 152 | ivar_list_nth 153 | max 154 | alignment 155 | ro 156 | fastFlags 157 | __arclite_NSKKsD_addEntriesFromDictionary 158 | __arclite_NSKKsD_setObject_forKey 159 | __arclite_NSKKsD_removeObjectForKey 160 | __arclite_NSKKsD_objectForKey 161 | __arclite_NSKKMS_indexForKey 162 | __arclite_NSKKMS_fastIndexForKnownKey 163 | __arclite_NSManagedObject_allocBatch 164 | __arclite_NSManagedObject_allocWithEntity 165 | __arclite_NSManagedObject_init 166 | replaceMethod 167 | __arclite_NSUndoManagerProxy_isKindOfClass 168 | add_image_hook_swiftV1 169 | patch_lazy_pointers 170 | patch_t 171 | patch_t 172 | patch_t 173 | patch_t 174 | patch_t 175 | patch_t 176 | patch_t 177 | patch_t 178 | __arclite_NSMutableDictionary__setObject_forKeyedSubscript 179 | __ARCLite__load 180 | install_swiftV1 181 | install_dict_nil_value 182 | addOrReplaceMethod 183 | keyedGetter 184 | -------------------------------------------------------------------------------- /ElegantTableView.podspec: -------------------------------------------------------------------------------- 1 | version = "0.0.4"; 2 | 3 | Pod::Spec.new do |s| 4 | 5 | s.name = "ElegantTableView" 6 | s.version = version 7 | s.summary = "ElegantTableView 优雅的快速的创建TableView, Author's email:houmanager@hotmail.com" 8 | s.description = <<-DESC 9 | ElegantTableView 优雅的快速的创建简单列表TableView, Author's email:houmanager@hotmail.com 10 | DESC 11 | s.homepage = "https://github.com/stackhou/ElegantTableView" 12 | s.license = { :type => "MIT", :file => "LICENSE" } 13 | s.author = { "houmanager" => "houmanager@hotmail.com" } 14 | s.platform = :ios, "7.0" 15 | s.source = { :git => "https://github.com/stackhou/ElegantTableView.git", :tag => "#{version}"} 16 | s.source_files = "ElegantTableView/*.{h,m}" 17 | s.requires_arc = true 18 | 19 | end 20 | -------------------------------------------------------------------------------- /ElegantTableView/ElegantTableViewGenerator.h: -------------------------------------------------------------------------------- 1 | // 2 | // ElegantTableViewGenerator.h 3 | // ElegantTableViewDemo 4 | // 5 | // Created by YJHou on 2017/7/3. 6 | // Copyright © 2017年 houmanager. All rights reserved. 7 | // 优雅的 创建简单的 TableView 8 | 9 | /** 当前版本: 0.0.4 */ 10 | 11 | #import 12 | 13 | typedef void(^didSelectRowHandleBlock)(UITableView *tableView, NSIndexPath *indexPath); 14 | typedef void(^didScrollHandleBlock)(UIScrollView *tableView, CGPoint contentOffset); 15 | 16 | @interface ElegantTableViewGenerator : NSObject 17 | 18 | @property (nonatomic, strong) UITableView *tableView; 19 | 20 | /** 创建tableView生成器 */ 21 | + (ElegantTableViewGenerator *)createWithFrame:(CGRect)frame 22 | titles:(NSArray *)titles 23 | subTitles:(NSArray *)subTitles 24 | rowHeight:(CGFloat)rowHeight 25 | didSelectRowBlock:(didSelectRowHandleBlock)didSelectRowBlock 26 | didScrollBlock:(didScrollHandleBlock)didScrollBlock; 27 | 28 | @end 29 | -------------------------------------------------------------------------------- /ElegantTableView/ElegantTableViewGenerator.m: -------------------------------------------------------------------------------- 1 | // 2 | // ElegantTableViewGenerator.m 3 | // ElegantTableViewDemo 4 | // 5 | // Created by YJHou on 2017/7/3. 6 | // Copyright © 2017年 houmanager. All rights reserved. 7 | // 8 | 9 | #import "ElegantTableViewGenerator.h" 10 | 11 | @interface ElegantTableViewGenerator () 12 | 13 | @property (nonatomic, strong) NSMutableArray *titles; /**< 主数据源 */ 14 | @property (nonatomic, strong) NSMutableArray *subTitles; /**< 主数据源 */ 15 | @property (nonatomic, copy) didSelectRowHandleBlock didselectRowBlock; /**< 点击row */ 16 | @property (nonatomic, copy) didScrollHandleBlock didScrollBlock; /**< 滚动block */ 17 | 18 | @end 19 | 20 | @implementation ElegantTableViewGenerator 21 | 22 | + (ElegantTableViewGenerator *)createWithFrame:(CGRect)frame 23 | titles:(NSArray *)titles 24 | subTitles:(NSArray *)subTitles 25 | rowHeight:(CGFloat)rowHeight 26 | didSelectRowBlock:(didSelectRowHandleBlock)didSelectRowBlock 27 | didScrollBlock:(didScrollHandleBlock)didScrollBlock { 28 | 29 | ElegantTableViewGenerator *tableViewGenerator = [[ElegantTableViewGenerator alloc] init]; 30 | 31 | tableViewGenerator.titles = [NSMutableArray arrayWithArray:titles]; 32 | tableViewGenerator.subTitles = [NSMutableArray arrayWithArray:subTitles]; 33 | tableViewGenerator.didselectRowBlock = didSelectRowBlock; 34 | tableViewGenerator.didScrollBlock = didScrollBlock; 35 | 36 | UITableView *tableView = [[UITableView alloc] initWithFrame:frame style:UITableViewStylePlain]; 37 | tableView.delegate = tableViewGenerator; 38 | tableView.dataSource = tableViewGenerator; 39 | tableView.rowHeight = rowHeight; 40 | tableView.tableFooterView = [UIView new]; 41 | 42 | tableView.estimatedSectionHeaderHeight = tableView.estimatedSectionFooterHeight = tableView.estimatedRowHeight = 0.0f; 43 | tableViewGenerator.tableView = tableView; 44 | 45 | return tableViewGenerator; 46 | } 47 | 48 | #pragma mark - UITableViewDataSource 49 | - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { 50 | return self.titles.count; 51 | } 52 | 53 | - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { 54 | 55 | NSString * cellId = @"ElegantTableViewGeneratorCellId"; 56 | UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellId]; 57 | if (cell == nil) { 58 | cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:cellId]; 59 | cell.selectionStyle = UITableViewCellSelectionStyleNone; 60 | } 61 | 62 | cell.textLabel.text = [self.titles objectAtIndex:indexPath.row]; 63 | 64 | if (self.subTitles.count > 0) { 65 | if (indexPath.row > self.subTitles.count) { 66 | cell.detailTextLabel.text = @""; 67 | }else{ 68 | cell.detailTextLabel.text = [self.subTitles objectAtIndex:indexPath.row]; 69 | } 70 | } 71 | 72 | return cell; 73 | } 74 | 75 | - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { 76 | [tableView deselectRowAtIndexPath:indexPath animated:YES]; 77 | if (self.didselectRowBlock) { 78 | self.didselectRowBlock(tableView, indexPath); 79 | } 80 | } 81 | 82 | - (void)scrollViewDidScroll:(UIScrollView *)scrollView { 83 | if (self.didScrollBlock) { 84 | self.didScrollBlock(scrollView, scrollView.contentOffset); 85 | } 86 | } 87 | 88 | #pragma mark - Lazy 89 | - (NSMutableArray *)titles{ 90 | if (!_titles) { 91 | _titles = [NSMutableArray array]; 92 | } 93 | return _titles; 94 | } 95 | 96 | - (NSMutableArray *)subTitles{ 97 | if (!_subTitles) { 98 | _subTitles = [NSMutableArray array]; 99 | } 100 | return _subTitles; 101 | } 102 | 103 | - (void)dealloc { 104 | // NSLog(@"-->%s", __func__); 105 | } 106 | 107 | @end 108 | -------------------------------------------------------------------------------- /ElegantTableViewDemo.xcodeproj/project.pbxproj: -------------------------------------------------------------------------------- 1 | // !$*UTF8*$! 2 | { 3 | archiveVersion = 1; 4 | classes = { 5 | }; 6 | objectVersion = 46; 7 | objects = { 8 | 9 | /* Begin PBXBuildFile section */ 10 | 6307D6FB1F09F55200CF1EAD /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 6307D6FA1F09F55200CF1EAD /* main.m */; }; 11 | 6307D6FE1F09F55200CF1EAD /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 6307D6FD1F09F55200CF1EAD /* AppDelegate.m */; }; 12 | 6307D7011F09F55200CF1EAD /* ViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 6307D7001F09F55200CF1EAD /* ViewController.m */; }; 13 | 6307D7041F09F55200CF1EAD /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 6307D7021F09F55200CF1EAD /* Main.storyboard */; }; 14 | 6307D7061F09F55200CF1EAD /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 6307D7051F09F55200CF1EAD /* Assets.xcassets */; }; 15 | 6307D7091F09F55200CF1EAD /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 6307D7071F09F55200CF1EAD /* LaunchScreen.storyboard */; }; 16 | 6307D7131F09F63C00CF1EAD /* ElegantTableViewGenerator.m in Sources */ = {isa = PBXBuildFile; fileRef = 6307D7121F09F63C00CF1EAD /* ElegantTableViewGenerator.m */; }; 17 | 6307D7201F0A0BF100CF1EAD /* ElegantTableView.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6307D7191F0A0BF100CF1EAD /* ElegantTableView.framework */; }; 18 | 6307D7211F0A0BF100CF1EAD /* ElegantTableView.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 6307D7191F0A0BF100CF1EAD /* ElegantTableView.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; 19 | 6307D7261F0A0C1600CF1EAD /* ElegantTableViewGenerator.h in Headers */ = {isa = PBXBuildFile; fileRef = 6307D7111F09F63C00CF1EAD /* ElegantTableViewGenerator.h */; settings = {ATTRIBUTES = (Public, ); }; }; 20 | 6307D7271F0A0C1D00CF1EAD /* ElegantTableViewGenerator.m in Sources */ = {isa = PBXBuildFile; fileRef = 6307D7121F09F63C00CF1EAD /* ElegantTableViewGenerator.m */; }; 21 | /* End PBXBuildFile section */ 22 | 23 | /* Begin PBXContainerItemProxy section */ 24 | 6307D71E1F0A0BF100CF1EAD /* PBXContainerItemProxy */ = { 25 | isa = PBXContainerItemProxy; 26 | containerPortal = 6307D6EE1F09F55200CF1EAD /* Project object */; 27 | proxyType = 1; 28 | remoteGlobalIDString = 6307D7181F0A0BF100CF1EAD; 29 | remoteInfo = ElegantTableViewFramework; 30 | }; 31 | /* End PBXContainerItemProxy section */ 32 | 33 | /* Begin PBXCopyFilesBuildPhase section */ 34 | 6307D7251F0A0BF100CF1EAD /* Embed Frameworks */ = { 35 | isa = PBXCopyFilesBuildPhase; 36 | buildActionMask = 2147483647; 37 | dstPath = ""; 38 | dstSubfolderSpec = 10; 39 | files = ( 40 | 6307D7211F0A0BF100CF1EAD /* ElegantTableView.framework in Embed Frameworks */, 41 | ); 42 | name = "Embed Frameworks"; 43 | runOnlyForDeploymentPostprocessing = 0; 44 | }; 45 | /* End PBXCopyFilesBuildPhase section */ 46 | 47 | /* Begin PBXFileReference section */ 48 | 6307D6F61F09F55200CF1EAD /* ElegantTableViewDemo.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = ElegantTableViewDemo.app; sourceTree = BUILT_PRODUCTS_DIR; }; 49 | 6307D6FA1F09F55200CF1EAD /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; 50 | 6307D6FC1F09F55200CF1EAD /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = ""; }; 51 | 6307D6FD1F09F55200CF1EAD /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = ""; }; 52 | 6307D6FF1F09F55200CF1EAD /* ViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ViewController.h; sourceTree = ""; }; 53 | 6307D7001F09F55200CF1EAD /* ViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ViewController.m; sourceTree = ""; }; 54 | 6307D7031F09F55200CF1EAD /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; 55 | 6307D7051F09F55200CF1EAD /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; 56 | 6307D7081F09F55200CF1EAD /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; 57 | 6307D70A1F09F55200CF1EAD /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 58 | 6307D7111F09F63C00CF1EAD /* ElegantTableViewGenerator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ElegantTableViewGenerator.h; sourceTree = ""; }; 59 | 6307D7121F09F63C00CF1EAD /* ElegantTableViewGenerator.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ElegantTableViewGenerator.m; sourceTree = ""; }; 60 | 6307D7191F0A0BF100CF1EAD /* ElegantTableView.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = ElegantTableView.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 61 | 6307D71B1F0A0BF100CF1EAD /* ElegantTableViewFramework.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ElegantTableViewFramework.h; sourceTree = ""; }; 62 | 6307D71C1F0A0BF100CF1EAD /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 63 | /* End PBXFileReference section */ 64 | 65 | /* Begin PBXFrameworksBuildPhase section */ 66 | 6307D6F31F09F55200CF1EAD /* Frameworks */ = { 67 | isa = PBXFrameworksBuildPhase; 68 | buildActionMask = 2147483647; 69 | files = ( 70 | 6307D7201F0A0BF100CF1EAD /* ElegantTableView.framework in Frameworks */, 71 | ); 72 | runOnlyForDeploymentPostprocessing = 0; 73 | }; 74 | 6307D7151F0A0BF100CF1EAD /* Frameworks */ = { 75 | isa = PBXFrameworksBuildPhase; 76 | buildActionMask = 2147483647; 77 | files = ( 78 | ); 79 | runOnlyForDeploymentPostprocessing = 0; 80 | }; 81 | /* End PBXFrameworksBuildPhase section */ 82 | 83 | /* Begin PBXGroup section */ 84 | 6307D6ED1F09F55200CF1EAD = { 85 | isa = PBXGroup; 86 | children = ( 87 | 6307D7101F09F5EA00CF1EAD /* ElegantTableView */, 88 | 6307D6F81F09F55200CF1EAD /* ElegantTableViewDemo */, 89 | 6307D71A1F0A0BF100CF1EAD /* ElegantTableViewFramework */, 90 | 6307D6F71F09F55200CF1EAD /* Products */, 91 | ); 92 | sourceTree = ""; 93 | }; 94 | 6307D6F71F09F55200CF1EAD /* Products */ = { 95 | isa = PBXGroup; 96 | children = ( 97 | 6307D6F61F09F55200CF1EAD /* ElegantTableViewDemo.app */, 98 | 6307D7191F0A0BF100CF1EAD /* ElegantTableView.framework */, 99 | ); 100 | name = Products; 101 | sourceTree = ""; 102 | }; 103 | 6307D6F81F09F55200CF1EAD /* ElegantTableViewDemo */ = { 104 | isa = PBXGroup; 105 | children = ( 106 | 6307D6FC1F09F55200CF1EAD /* AppDelegate.h */, 107 | 6307D6FD1F09F55200CF1EAD /* AppDelegate.m */, 108 | 6307D6FF1F09F55200CF1EAD /* ViewController.h */, 109 | 6307D7001F09F55200CF1EAD /* ViewController.m */, 110 | 6307D7021F09F55200CF1EAD /* Main.storyboard */, 111 | 6307D7051F09F55200CF1EAD /* Assets.xcassets */, 112 | 6307D7071F09F55200CF1EAD /* LaunchScreen.storyboard */, 113 | 6307D70A1F09F55200CF1EAD /* Info.plist */, 114 | 6307D6F91F09F55200CF1EAD /* Supporting Files */, 115 | ); 116 | path = ElegantTableViewDemo; 117 | sourceTree = ""; 118 | }; 119 | 6307D6F91F09F55200CF1EAD /* Supporting Files */ = { 120 | isa = PBXGroup; 121 | children = ( 122 | 6307D6FA1F09F55200CF1EAD /* main.m */, 123 | ); 124 | name = "Supporting Files"; 125 | sourceTree = ""; 126 | }; 127 | 6307D7101F09F5EA00CF1EAD /* ElegantTableView */ = { 128 | isa = PBXGroup; 129 | children = ( 130 | 6307D7111F09F63C00CF1EAD /* ElegantTableViewGenerator.h */, 131 | 6307D7121F09F63C00CF1EAD /* ElegantTableViewGenerator.m */, 132 | ); 133 | path = ElegantTableView; 134 | sourceTree = ""; 135 | }; 136 | 6307D71A1F0A0BF100CF1EAD /* ElegantTableViewFramework */ = { 137 | isa = PBXGroup; 138 | children = ( 139 | 6307D71B1F0A0BF100CF1EAD /* ElegantTableViewFramework.h */, 140 | 6307D71C1F0A0BF100CF1EAD /* Info.plist */, 141 | ); 142 | path = ElegantTableViewFramework; 143 | sourceTree = ""; 144 | }; 145 | /* End PBXGroup section */ 146 | 147 | /* Begin PBXHeadersBuildPhase section */ 148 | 6307D7161F0A0BF100CF1EAD /* Headers */ = { 149 | isa = PBXHeadersBuildPhase; 150 | buildActionMask = 2147483647; 151 | files = ( 152 | 6307D7261F0A0C1600CF1EAD /* ElegantTableViewGenerator.h in Headers */, 153 | ); 154 | runOnlyForDeploymentPostprocessing = 0; 155 | }; 156 | /* End PBXHeadersBuildPhase section */ 157 | 158 | /* Begin PBXNativeTarget section */ 159 | 6307D6F51F09F55200CF1EAD /* ElegantTableViewDemo */ = { 160 | isa = PBXNativeTarget; 161 | buildConfigurationList = 6307D70D1F09F55200CF1EAD /* Build configuration list for PBXNativeTarget "ElegantTableViewDemo" */; 162 | buildPhases = ( 163 | 6307D6F21F09F55200CF1EAD /* Sources */, 164 | 6307D6F31F09F55200CF1EAD /* Frameworks */, 165 | 6307D6F41F09F55200CF1EAD /* Resources */, 166 | 6307D7251F0A0BF100CF1EAD /* Embed Frameworks */, 167 | ); 168 | buildRules = ( 169 | ); 170 | dependencies = ( 171 | 6307D71F1F0A0BF100CF1EAD /* PBXTargetDependency */, 172 | ); 173 | name = ElegantTableViewDemo; 174 | productName = ElegantTableViewDemo; 175 | productReference = 6307D6F61F09F55200CF1EAD /* ElegantTableViewDemo.app */; 176 | productType = "com.apple.product-type.application"; 177 | }; 178 | 6307D7181F0A0BF100CF1EAD /* ElegantTableViewFramework */ = { 179 | isa = PBXNativeTarget; 180 | buildConfigurationList = 6307D7221F0A0BF100CF1EAD /* Build configuration list for PBXNativeTarget "ElegantTableViewFramework" */; 181 | buildPhases = ( 182 | 6307D7141F0A0BF100CF1EAD /* Sources */, 183 | 6307D7151F0A0BF100CF1EAD /* Frameworks */, 184 | 6307D7161F0A0BF100CF1EAD /* Headers */, 185 | 6307D7171F0A0BF100CF1EAD /* Resources */, 186 | ); 187 | buildRules = ( 188 | ); 189 | dependencies = ( 190 | ); 191 | name = ElegantTableViewFramework; 192 | productName = ElegantTableViewFramework; 193 | productReference = 6307D7191F0A0BF100CF1EAD /* ElegantTableView.framework */; 194 | productType = "com.apple.product-type.framework"; 195 | }; 196 | /* End PBXNativeTarget section */ 197 | 198 | /* Begin PBXProject section */ 199 | 6307D6EE1F09F55200CF1EAD /* Project object */ = { 200 | isa = PBXProject; 201 | attributes = { 202 | LastUpgradeCheck = 0830; 203 | ORGANIZATIONNAME = "侯跃军"; 204 | TargetAttributes = { 205 | 6307D6F51F09F55200CF1EAD = { 206 | CreatedOnToolsVersion = 8.3.3; 207 | DevelopmentTeam = 53U7T4TFCY; 208 | ProvisioningStyle = Automatic; 209 | }; 210 | 6307D7181F0A0BF100CF1EAD = { 211 | CreatedOnToolsVersion = 8.3.3; 212 | DevelopmentTeam = 33K3DU6932; 213 | ProvisioningStyle = Automatic; 214 | }; 215 | }; 216 | }; 217 | buildConfigurationList = 6307D6F11F09F55200CF1EAD /* Build configuration list for PBXProject "ElegantTableViewDemo" */; 218 | compatibilityVersion = "Xcode 3.2"; 219 | developmentRegion = English; 220 | hasScannedForEncodings = 0; 221 | knownRegions = ( 222 | English, 223 | en, 224 | Base, 225 | ); 226 | mainGroup = 6307D6ED1F09F55200CF1EAD; 227 | productRefGroup = 6307D6F71F09F55200CF1EAD /* Products */; 228 | projectDirPath = ""; 229 | projectRoot = ""; 230 | targets = ( 231 | 6307D6F51F09F55200CF1EAD /* ElegantTableViewDemo */, 232 | 6307D7181F0A0BF100CF1EAD /* ElegantTableViewFramework */, 233 | ); 234 | }; 235 | /* End PBXProject section */ 236 | 237 | /* Begin PBXResourcesBuildPhase section */ 238 | 6307D6F41F09F55200CF1EAD /* Resources */ = { 239 | isa = PBXResourcesBuildPhase; 240 | buildActionMask = 2147483647; 241 | files = ( 242 | 6307D7091F09F55200CF1EAD /* LaunchScreen.storyboard in Resources */, 243 | 6307D7061F09F55200CF1EAD /* Assets.xcassets in Resources */, 244 | 6307D7041F09F55200CF1EAD /* Main.storyboard in Resources */, 245 | ); 246 | runOnlyForDeploymentPostprocessing = 0; 247 | }; 248 | 6307D7171F0A0BF100CF1EAD /* Resources */ = { 249 | isa = PBXResourcesBuildPhase; 250 | buildActionMask = 2147483647; 251 | files = ( 252 | ); 253 | runOnlyForDeploymentPostprocessing = 0; 254 | }; 255 | /* End PBXResourcesBuildPhase section */ 256 | 257 | /* Begin PBXSourcesBuildPhase section */ 258 | 6307D6F21F09F55200CF1EAD /* Sources */ = { 259 | isa = PBXSourcesBuildPhase; 260 | buildActionMask = 2147483647; 261 | files = ( 262 | 6307D7131F09F63C00CF1EAD /* ElegantTableViewGenerator.m in Sources */, 263 | 6307D7011F09F55200CF1EAD /* ViewController.m in Sources */, 264 | 6307D6FE1F09F55200CF1EAD /* AppDelegate.m in Sources */, 265 | 6307D6FB1F09F55200CF1EAD /* main.m in Sources */, 266 | ); 267 | runOnlyForDeploymentPostprocessing = 0; 268 | }; 269 | 6307D7141F0A0BF100CF1EAD /* Sources */ = { 270 | isa = PBXSourcesBuildPhase; 271 | buildActionMask = 2147483647; 272 | files = ( 273 | 6307D7271F0A0C1D00CF1EAD /* ElegantTableViewGenerator.m in Sources */, 274 | ); 275 | runOnlyForDeploymentPostprocessing = 0; 276 | }; 277 | /* End PBXSourcesBuildPhase section */ 278 | 279 | /* Begin PBXTargetDependency section */ 280 | 6307D71F1F0A0BF100CF1EAD /* PBXTargetDependency */ = { 281 | isa = PBXTargetDependency; 282 | target = 6307D7181F0A0BF100CF1EAD /* ElegantTableViewFramework */; 283 | targetProxy = 6307D71E1F0A0BF100CF1EAD /* PBXContainerItemProxy */; 284 | }; 285 | /* End PBXTargetDependency section */ 286 | 287 | /* Begin PBXVariantGroup section */ 288 | 6307D7021F09F55200CF1EAD /* Main.storyboard */ = { 289 | isa = PBXVariantGroup; 290 | children = ( 291 | 6307D7031F09F55200CF1EAD /* Base */, 292 | ); 293 | name = Main.storyboard; 294 | sourceTree = ""; 295 | }; 296 | 6307D7071F09F55200CF1EAD /* LaunchScreen.storyboard */ = { 297 | isa = PBXVariantGroup; 298 | children = ( 299 | 6307D7081F09F55200CF1EAD /* Base */, 300 | ); 301 | name = LaunchScreen.storyboard; 302 | sourceTree = ""; 303 | }; 304 | /* End PBXVariantGroup section */ 305 | 306 | /* Begin XCBuildConfiguration section */ 307 | 6307D70B1F09F55200CF1EAD /* Debug */ = { 308 | isa = XCBuildConfiguration; 309 | buildSettings = { 310 | ALWAYS_SEARCH_USER_PATHS = NO; 311 | CLANG_ANALYZER_NONNULL = YES; 312 | CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; 313 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; 314 | CLANG_CXX_LIBRARY = "libc++"; 315 | CLANG_ENABLE_MODULES = YES; 316 | CLANG_ENABLE_OBJC_ARC = YES; 317 | CLANG_WARN_BOOL_CONVERSION = YES; 318 | CLANG_WARN_CONSTANT_CONVERSION = YES; 319 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; 320 | CLANG_WARN_DOCUMENTATION_COMMENTS = YES; 321 | CLANG_WARN_EMPTY_BODY = YES; 322 | CLANG_WARN_ENUM_CONVERSION = YES; 323 | CLANG_WARN_INFINITE_RECURSION = YES; 324 | CLANG_WARN_INT_CONVERSION = YES; 325 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; 326 | CLANG_WARN_SUSPICIOUS_MOVE = YES; 327 | CLANG_WARN_UNREACHABLE_CODE = YES; 328 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; 329 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; 330 | COPY_PHASE_STRIP = NO; 331 | DEBUG_INFORMATION_FORMAT = dwarf; 332 | ENABLE_STRICT_OBJC_MSGSEND = YES; 333 | ENABLE_TESTABILITY = YES; 334 | GCC_C_LANGUAGE_STANDARD = gnu99; 335 | GCC_DYNAMIC_NO_PIC = NO; 336 | GCC_NO_COMMON_BLOCKS = YES; 337 | GCC_OPTIMIZATION_LEVEL = 0; 338 | GCC_PREPROCESSOR_DEFINITIONS = ( 339 | "DEBUG=1", 340 | "$(inherited)", 341 | ); 342 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES; 343 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; 344 | GCC_WARN_UNDECLARED_SELECTOR = YES; 345 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; 346 | GCC_WARN_UNUSED_FUNCTION = YES; 347 | GCC_WARN_UNUSED_VARIABLE = YES; 348 | IPHONEOS_DEPLOYMENT_TARGET = 10.3; 349 | MTL_ENABLE_DEBUG_INFO = YES; 350 | ONLY_ACTIVE_ARCH = YES; 351 | SDKROOT = iphoneos; 352 | }; 353 | name = Debug; 354 | }; 355 | 6307D70C1F09F55200CF1EAD /* Release */ = { 356 | isa = XCBuildConfiguration; 357 | buildSettings = { 358 | ALWAYS_SEARCH_USER_PATHS = NO; 359 | CLANG_ANALYZER_NONNULL = YES; 360 | CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; 361 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; 362 | CLANG_CXX_LIBRARY = "libc++"; 363 | CLANG_ENABLE_MODULES = YES; 364 | CLANG_ENABLE_OBJC_ARC = YES; 365 | CLANG_WARN_BOOL_CONVERSION = YES; 366 | CLANG_WARN_CONSTANT_CONVERSION = YES; 367 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; 368 | CLANG_WARN_DOCUMENTATION_COMMENTS = YES; 369 | CLANG_WARN_EMPTY_BODY = YES; 370 | CLANG_WARN_ENUM_CONVERSION = YES; 371 | CLANG_WARN_INFINITE_RECURSION = YES; 372 | CLANG_WARN_INT_CONVERSION = YES; 373 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; 374 | CLANG_WARN_SUSPICIOUS_MOVE = YES; 375 | CLANG_WARN_UNREACHABLE_CODE = YES; 376 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; 377 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; 378 | COPY_PHASE_STRIP = NO; 379 | DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; 380 | ENABLE_NS_ASSERTIONS = NO; 381 | ENABLE_STRICT_OBJC_MSGSEND = YES; 382 | GCC_C_LANGUAGE_STANDARD = gnu99; 383 | GCC_NO_COMMON_BLOCKS = YES; 384 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES; 385 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; 386 | GCC_WARN_UNDECLARED_SELECTOR = YES; 387 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; 388 | GCC_WARN_UNUSED_FUNCTION = YES; 389 | GCC_WARN_UNUSED_VARIABLE = YES; 390 | IPHONEOS_DEPLOYMENT_TARGET = 10.3; 391 | MTL_ENABLE_DEBUG_INFO = NO; 392 | SDKROOT = iphoneos; 393 | VALIDATE_PRODUCT = YES; 394 | }; 395 | name = Release; 396 | }; 397 | 6307D70E1F09F55200CF1EAD /* Debug */ = { 398 | isa = XCBuildConfiguration; 399 | buildSettings = { 400 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; 401 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; 402 | DEVELOPMENT_TEAM = 53U7T4TFCY; 403 | INFOPLIST_FILE = ElegantTableViewDemo/Info.plist; 404 | IPHONEOS_DEPLOYMENT_TARGET = 8.0; 405 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; 406 | PRODUCT_BUNDLE_IDENTIFIER = com.mk.demo; 407 | PRODUCT_NAME = "$(TARGET_NAME)"; 408 | PROVISIONING_PROFILE_SPECIFIER = ""; 409 | }; 410 | name = Debug; 411 | }; 412 | 6307D70F1F09F55200CF1EAD /* Release */ = { 413 | isa = XCBuildConfiguration; 414 | buildSettings = { 415 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; 416 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; 417 | DEVELOPMENT_TEAM = 53U7T4TFCY; 418 | INFOPLIST_FILE = ElegantTableViewDemo/Info.plist; 419 | IPHONEOS_DEPLOYMENT_TARGET = 8.0; 420 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; 421 | PRODUCT_BUNDLE_IDENTIFIER = com.mk.demo; 422 | PRODUCT_NAME = "$(TARGET_NAME)"; 423 | PROVISIONING_PROFILE_SPECIFIER = ""; 424 | }; 425 | name = Release; 426 | }; 427 | 6307D7231F0A0BF100CF1EAD /* Debug */ = { 428 | isa = XCBuildConfiguration; 429 | buildSettings = { 430 | CODE_SIGN_IDENTITY = ""; 431 | CURRENT_PROJECT_VERSION = 1; 432 | DEFINES_MODULE = YES; 433 | DEVELOPMENT_TEAM = 33K3DU6932; 434 | DYLIB_COMPATIBILITY_VERSION = 1; 435 | DYLIB_CURRENT_VERSION = 1; 436 | DYLIB_INSTALL_NAME_BASE = "@rpath"; 437 | INFOPLIST_FILE = ElegantTableViewFramework/Info.plist; 438 | INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; 439 | IPHONEOS_DEPLOYMENT_TARGET = 8.0; 440 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; 441 | OTHER_CFLAGS = "-fembed-bitcode"; 442 | PRODUCT_BUNDLE_IDENTIFIER = com.houmanager.ElegantTableViewFramework; 443 | PRODUCT_MODULE_NAME = ElegantTableView; 444 | PRODUCT_NAME = ElegantTableView; 445 | SKIP_INSTALL = YES; 446 | TARGETED_DEVICE_FAMILY = "1,2"; 447 | VERSIONING_SYSTEM = "apple-generic"; 448 | VERSION_INFO_PREFIX = ""; 449 | }; 450 | name = Debug; 451 | }; 452 | 6307D7241F0A0BF100CF1EAD /* Release */ = { 453 | isa = XCBuildConfiguration; 454 | buildSettings = { 455 | CODE_SIGN_IDENTITY = ""; 456 | CURRENT_PROJECT_VERSION = 1; 457 | DEFINES_MODULE = YES; 458 | DEVELOPMENT_TEAM = 33K3DU6932; 459 | DYLIB_COMPATIBILITY_VERSION = 1; 460 | DYLIB_CURRENT_VERSION = 1; 461 | DYLIB_INSTALL_NAME_BASE = "@rpath"; 462 | INFOPLIST_FILE = ElegantTableViewFramework/Info.plist; 463 | INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; 464 | IPHONEOS_DEPLOYMENT_TARGET = 8.0; 465 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; 466 | OTHER_CFLAGS = "-fembed-bitcode"; 467 | PRODUCT_BUNDLE_IDENTIFIER = com.houmanager.ElegantTableViewFramework; 468 | PRODUCT_MODULE_NAME = ElegantTableView; 469 | PRODUCT_NAME = ElegantTableView; 470 | SKIP_INSTALL = YES; 471 | TARGETED_DEVICE_FAMILY = "1,2"; 472 | VERSIONING_SYSTEM = "apple-generic"; 473 | VERSION_INFO_PREFIX = ""; 474 | }; 475 | name = Release; 476 | }; 477 | /* End XCBuildConfiguration section */ 478 | 479 | /* Begin XCConfigurationList section */ 480 | 6307D6F11F09F55200CF1EAD /* Build configuration list for PBXProject "ElegantTableViewDemo" */ = { 481 | isa = XCConfigurationList; 482 | buildConfigurations = ( 483 | 6307D70B1F09F55200CF1EAD /* Debug */, 484 | 6307D70C1F09F55200CF1EAD /* Release */, 485 | ); 486 | defaultConfigurationIsVisible = 0; 487 | defaultConfigurationName = Release; 488 | }; 489 | 6307D70D1F09F55200CF1EAD /* Build configuration list for PBXNativeTarget "ElegantTableViewDemo" */ = { 490 | isa = XCConfigurationList; 491 | buildConfigurations = ( 492 | 6307D70E1F09F55200CF1EAD /* Debug */, 493 | 6307D70F1F09F55200CF1EAD /* Release */, 494 | ); 495 | defaultConfigurationIsVisible = 0; 496 | defaultConfigurationName = Release; 497 | }; 498 | 6307D7221F0A0BF100CF1EAD /* Build configuration list for PBXNativeTarget "ElegantTableViewFramework" */ = { 499 | isa = XCConfigurationList; 500 | buildConfigurations = ( 501 | 6307D7231F0A0BF100CF1EAD /* Debug */, 502 | 6307D7241F0A0BF100CF1EAD /* Release */, 503 | ); 504 | defaultConfigurationIsVisible = 0; 505 | defaultConfigurationName = Release; 506 | }; 507 | /* End XCConfigurationList section */ 508 | }; 509 | rootObject = 6307D6EE1F09F55200CF1EAD /* Project object */; 510 | } 511 | -------------------------------------------------------------------------------- /ElegantTableViewDemo.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /ElegantTableViewDemo.xcodeproj/project.xcworkspace/xcuserdata/yjhou.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hoaye/ElegantTableView/8b35ceded2c987b2152d8003cc3a670a082c99e2/ElegantTableViewDemo.xcodeproj/project.xcworkspace/xcuserdata/yjhou.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /ElegantTableViewDemo.xcodeproj/xcshareddata/xcschemes/ElegantTableViewFramework.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 24 | 25 | 31 | 32 | 33 | 34 | 35 | 36 | 47 | 48 | 54 | 55 | 56 | 57 | 58 | 59 | 65 | 66 | 72 | 73 | 74 | 75 | 77 | 78 | 81 | 82 | 83 | -------------------------------------------------------------------------------- /ElegantTableViewDemo.xcodeproj/xcuserdata/yjhou.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 8 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /ElegantTableViewDemo.xcodeproj/xcuserdata/yjhou.xcuserdatad/xcschemes/ElegantTableViewDemo.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 24 | 25 | 30 | 31 | 32 | 33 | 39 | 40 | 41 | 42 | 43 | 44 | 54 | 56 | 62 | 63 | 64 | 65 | 66 | 67 | 73 | 75 | 81 | 82 | 83 | 84 | 86 | 87 | 90 | 91 | 92 | -------------------------------------------------------------------------------- /ElegantTableViewDemo.xcodeproj/xcuserdata/yjhou.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | ElegantTableViewDemo.xcscheme 8 | 9 | orderHint 10 | 0 11 | 12 | ElegantTableViewFramework.xcscheme_^#shared#^_ 13 | 14 | orderHint 15 | 1 16 | 17 | 18 | SuppressBuildableAutocreation 19 | 20 | 6307D6F51F09F55200CF1EAD 21 | 22 | primary 23 | 24 | 25 | 6307D7181F0A0BF100CF1EAD 26 | 27 | primary 28 | 29 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /ElegantTableViewDemo/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // ElegantTableViewDemo 4 | // 5 | // Created by YJHou on 2017/7/3. 6 | // Copyright © 2017年 MonkeyKing. 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 | -------------------------------------------------------------------------------- /ElegantTableViewDemo/AppDelegate.m: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.m 3 | // ElegantTableViewDemo 4 | // 5 | // Created by YJHou on 2017/7/3. 6 | // Copyright © 2017年 MonkeyKing. 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 | 24 | - (void)applicationWillResignActive:(UIApplication *)application { 25 | // 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. 26 | // Use this method to pause ongoing tasks, disable timers, and invalidate graphics rendering callbacks. Games should use this method to pause the game. 27 | } 28 | 29 | 30 | - (void)applicationDidEnterBackground:(UIApplication *)application { 31 | // 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. 32 | // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits. 33 | } 34 | 35 | 36 | - (void)applicationWillEnterForeground:(UIApplication *)application { 37 | // Called as part of the transition from the background to the active state; here you can undo many of the changes made on entering the background. 38 | } 39 | 40 | 41 | - (void)applicationDidBecomeActive:(UIApplication *)application { 42 | // 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. 43 | } 44 | 45 | 46 | - (void)applicationWillTerminate:(UIApplication *)application { 47 | // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:. 48 | } 49 | 50 | 51 | @end 52 | -------------------------------------------------------------------------------- /ElegantTableViewDemo/Assets.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 | } -------------------------------------------------------------------------------- /ElegantTableViewDemo/Base.lproj/LaunchScreen.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 | -------------------------------------------------------------------------------- /ElegantTableViewDemo/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 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | -------------------------------------------------------------------------------- /ElegantTableViewDemo/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | APPL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleVersion 20 | 1 21 | LSRequiresIPhoneOS 22 | 23 | UILaunchStoryboardName 24 | LaunchScreen 25 | UIMainStoryboardFile 26 | Main 27 | UIRequiredDeviceCapabilities 28 | 29 | armv7 30 | 31 | UISupportedInterfaceOrientations 32 | 33 | UIInterfaceOrientationPortrait 34 | UIInterfaceOrientationLandscapeLeft 35 | UIInterfaceOrientationLandscapeRight 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /ElegantTableViewDemo/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // ElegantTableViewDemo 4 | // 5 | // Created by YJHou on 2017/7/3. 6 | // Copyright © 2017年 MonkeyKing. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /ElegantTableViewDemo/ViewController.m: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.m 3 | // ElegantTableViewDemo 4 | // 5 | // Created by YJHou on 2017/7/3. 6 | // Copyright © 2017年 MonkeyKing. All rights reserved. 7 | // 8 | 9 | #import "ViewController.h" 10 | #import "ElegantTableViewGenerator.h" 11 | 12 | @interface ViewController () 13 | 14 | @property (nonatomic, strong) ElegantTableViewGenerator *tableViewGenerator; 15 | 16 | @end 17 | 18 | @implementation ViewController 19 | 20 | - (void)viewDidLoad { 21 | [super viewDidLoad]; 22 | 23 | self.title = @"创建简单的TableView"; 24 | 25 | 26 | NSArray *dataSources = @[@"你", @"我", @"他", @"1", @"2", @"3"]; 27 | self.tableViewGenerator = [ElegantTableViewGenerator createWithFrame:self.view.bounds titles:dataSources subTitles:nil rowHeight:44 didSelectRowBlock:^(UITableView *tableView, NSIndexPath *indexPath) { 28 | NSLog(@"点击TableView-->%ld", (long)indexPath.row); 29 | } didScrollBlock:^(UIScrollView *tableView, CGPoint contentOffset) { 30 | NSLog(@"滚动TableView-->%@", NSStringFromCGPoint(contentOffset)); 31 | }]; 32 | 33 | [self.view addSubview:self.tableViewGenerator.tableView]; 34 | } 35 | 36 | 37 | - (void)didReceiveMemoryWarning { 38 | [super didReceiveMemoryWarning]; 39 | // Dispose of any resources that can be recreated. 40 | } 41 | 42 | 43 | @end 44 | -------------------------------------------------------------------------------- /ElegantTableViewDemo/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // ElegantTableViewDemo 4 | // 5 | // Created by YJHou on 2017/7/3. 6 | // Copyright © 2017年 MonkeyKing. 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 | -------------------------------------------------------------------------------- /ElegantTableViewFramework/ElegantTableViewFramework.h: -------------------------------------------------------------------------------- 1 | // 2 | // ElegantTableViewFramework.h 3 | // ElegantTableViewFramework 4 | // 5 | // Created by YJHou on 2017/7/3. 6 | // Copyright © 2017年 MonkeyKing. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | //! Project version number for ElegantTableViewFramework. 12 | FOUNDATION_EXPORT double ElegantTableViewFrameworkVersionNumber; 13 | 14 | //! Project version string for ElegantTableViewFramework. 15 | FOUNDATION_EXPORT const unsigned char ElegantTableViewFrameworkVersionString[]; 16 | 17 | // In this header, you should import all the public headers of your framework using statements like #import 18 | 19 | 20 | -------------------------------------------------------------------------------- /ElegantTableViewFramework/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | FMWK 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleVersion 20 | $(CURRENT_PROJECT_VERSION) 21 | NSPrincipalClass 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2017 houmanager 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | [![CocoaPods](https://img.shields.io/cocoapods/v/ElegantTableView.svg)](https://github.com/stackhou/ElegantTableView.git) 2 | 3 | # ElegantTableView 4 | 优雅的创建TableView 5 | 6 | ### Cocoapods 7 | 8 | a. Add ElegantTableView to your Podfile.
9 | 10 | ```bash 11 | pod 'ElegantTableView' 12 | ``` 13 | 14 | b. Run 15 | 16 | ```bash 17 | pod install 18 | ``` 19 | 20 | 21 | ### Carthage 22 | 23 | a. Add ElegantTableView to your Cartfile.
24 | 25 | ```bash 26 | github "stackhou/ElegantTableView" 27 | ``` 28 | 29 | b. Run 30 | 31 | ```bash 32 | carthage update 33 | ``` 34 | c. Follow the rest of the [standard Carthage installation instructions](https://github.com/Carthage/Carthage#adding-frameworks-to-an-application) to add ElegantTableView to your project. 35 | 36 | 37 | ## Use
38 | 39 | ```objc 40 | 41 | NSArray *dataSources = @[@"你", @"我", @"他", @"1", @"2", @"3"]; 42 | UITableView *tableView = [[ElegantTableViewGenerator shareInstance] createWithFrame:self.view.bounds titles:dataSources subTitles:nil rowHeight:44 didSelectRowBlock:^(UITableView *tableView, NSIndexPath *indexPath) { 43 | NSLog(@"点击TableView-->%ld", (long)indexPath.row); 44 | } didScrollBlock:^(UIScrollView *tableView, CGPoint contentOffset) { 45 | NSLog(@"滚动TableView-->%@", NSStringFromCGPoint(contentOffset)); 46 | }]; 47 | 48 | [self.view addSubview:tableView]; 49 | 50 | ``` 51 | --------------------------------------------------------------------------------