├── README.md
├── SYTableViewTests
├── Info.plist
└── SYTableViewTests.m
├── syTableView.podspec
├── syTableView.xcodeproj
├── project.pbxproj
├── project.xcworkspace
│ ├── contents.xcworkspacedata
│ ├── xcshareddata
│ │ └── SYTableView.xccheckout
│ └── xcuserdata
│ │ └── shiyuan.xcuserdatad
│ │ └── UserInterfaceState.xcuserstate
└── xcuserdata
│ └── shiyuan.xcuserdatad
│ ├── xcdebugger
│ └── Breakpoints_v2.xcbkptlist
│ └── xcschemes
│ ├── syTableView.xcscheme
│ └── xcschememanagement.plist
├── syTableView
├── AppDelegate
│ ├── AppDelegate.h
│ └── AppDelegate.m
├── Base.lproj
│ ├── LaunchScreen.xib
│ └── Main.storyboard
├── Images.xcassets
│ ├── AppIcon.appiconset
│ │ └── Contents.json
│ ├── JggIcon
│ │ ├── 1.imageset
│ │ │ ├── 1.jpg
│ │ │ └── Contents.json
│ │ ├── 10.imageset
│ │ │ ├── 10.jpg
│ │ │ └── Contents.json
│ │ ├── 11.imageset
│ │ │ ├── 11.jpg
│ │ │ └── Contents.json
│ │ ├── 12.imageset
│ │ │ ├── 12.jpg
│ │ │ └── Contents.json
│ │ ├── 13.imageset
│ │ │ ├── 13.jpg
│ │ │ └── Contents.json
│ │ ├── 14.imageset
│ │ │ ├── 14.jpg
│ │ │ └── Contents.json
│ │ ├── 15.imageset
│ │ │ ├── 15.jpg
│ │ │ └── Contents.json
│ │ ├── 16.imageset
│ │ │ ├── 16.jpg
│ │ │ └── Contents.json
│ │ ├── 17.imageset
│ │ │ ├── 17.jpg
│ │ │ └── Contents.json
│ │ ├── 18.imageset
│ │ │ ├── 18.jpg
│ │ │ └── Contents.json
│ │ ├── 19.imageset
│ │ │ ├── 19.jpg
│ │ │ └── Contents.json
│ │ ├── 2.imageset
│ │ │ ├── 2.jpg
│ │ │ └── Contents.json
│ │ ├── 20.imageset
│ │ │ ├── 20.jpg
│ │ │ └── Contents.json
│ │ ├── 21.imageset
│ │ │ ├── 21.jpg
│ │ │ └── Contents.json
│ │ ├── 3.imageset
│ │ │ ├── 3.jpg
│ │ │ └── Contents.json
│ │ ├── 4.imageset
│ │ │ ├── 4.jpg
│ │ │ └── Contents.json
│ │ ├── 5.imageset
│ │ │ ├── 5.jpg
│ │ │ └── Contents.json
│ │ ├── 6.imageset
│ │ │ ├── 6.jpg
│ │ │ └── Contents.json
│ │ ├── 7.imageset
│ │ │ ├── 7.jpg
│ │ │ └── Contents.json
│ │ ├── 8.imageset
│ │ │ ├── 8.jpg
│ │ │ └── Contents.json
│ │ └── 9.imageset
│ │ │ ├── 9.jpg
│ │ │ └── Contents.json
│ └── listIcon
│ │ ├── my_bookmark_icon.imageset
│ │ ├── Contents.json
│ │ ├── my_bookmark_icon@2x.png
│ │ └── my_bookmark_icon@3x.png
│ │ ├── my_download_icon.imageset
│ │ ├── Contents.json
│ │ ├── my_download_icon@2x.png
│ │ └── my_download_icon@3x.png
│ │ ├── my_laapp_icon.imageset
│ │ ├── Contents.json
│ │ ├── my_laapp_icon@2x.png
│ │ └── my_laapp_icon@3x.png
│ │ ├── my_notification_icon.imageset
│ │ ├── Contents.json
│ │ ├── my_notification_icon@2x.png
│ │ └── my_notification_icon@3x.png
│ │ ├── my_photo_logged_in.imageset
│ │ ├── Contents.json
│ │ ├── my_photo_logged_in@2x.png
│ │ └── my_photo_logged_in@3x.png
│ │ ├── my_privilege_icon.imageset
│ │ ├── Contents.json
│ │ ├── my_privilege_icon@2x.png
│ │ └── my_privilege_icon@3x.png
│ │ ├── my_setting_icon.imageset
│ │ ├── Contents.json
│ │ ├── my_setting_icon@2x.png
│ │ └── my_setting_icon@3x.png
│ │ ├── my_wallet_icon.imageset
│ │ ├── Contents.json
│ │ ├── my_wallet_icon@2x.png
│ │ └── my_wallet_icon@3x.png
│ │ ├── personalcenter_tab_icon_selected.imageset
│ │ ├── Contents.json
│ │ ├── personalcenter_tab_icon_selected@2x.png
│ │ └── personalcenter_tab_icon_selected@3x.png
│ │ ├── pixel_search_share_friends.imageset
│ │ ├── Contents.json
│ │ └── pixel_search_share_friends@2x.png
│ │ ├── toolbar_goforward_highlighted.imageset
│ │ ├── Contents.json
│ │ ├── toolbar_goforward_highlighted@2x.png
│ │ └── toolbar_goforward_highlighted@3x.png
│ │ ├── toolbar_goforward_normal.imageset
│ │ ├── Contents.json
│ │ ├── toolbar_goforward_normal@2x.png
│ │ └── toolbar_goforward_normal@3x.png
│ │ ├── wallet_paysecurity.imageset
│ │ ├── Contents.json
│ │ ├── wallet_paysecurity@2x.png
│ │ └── wallet_paysecurity@3x.png
│ │ └── wallet_trade.imageset
│ │ ├── Contents.json
│ │ ├── wallet_trade@2x.png
│ │ └── wallet_trade@3x.png
├── Info.plist
├── SYTableView
│ ├── SYSectionEntity.h
│ ├── SYSectionEntity.m
│ ├── SYTableView.h
│ ├── SYTableView.m
│ ├── SYTableViewCell.h
│ ├── SYTableViewCell.m
│ ├── SYTableViewEntity.h
│ ├── SYTableViewEntity.m
│ └── SYTableViewHeader.h
├── UI
│ └── Demo
│ │ ├── DataManager
│ │ ├── DemoDataManager.h
│ │ └── DemoDataManager.m
│ │ ├── Model
│ │ ├── JiugonggeModel.h
│ │ ├── JiugonggeModel.m
│ │ ├── RowViewModel.h
│ │ └── RowViewModel.m
│ │ ├── View
│ │ ├── JiugonggeView.h
│ │ ├── JiugonggeView.m
│ │ ├── RowView.h
│ │ ├── RowView.m
│ │ ├── TestView.h
│ │ └── TestView.m
│ │ └── ViewController
│ │ ├── DemoViewController.h
│ │ ├── DemoViewController.m
│ │ ├── DynamicViewController.h
│ │ ├── DynamicViewController.m
│ │ ├── JiugonggeViewController.h
│ │ ├── JiugonggeViewController.m
│ │ ├── RowViewController.h
│ │ ├── RowViewController.m
│ │ ├── SectionViewController.h
│ │ └── SectionViewController.m
└── main.m
└── tableview.jpeg
/README.md:
--------------------------------------------------------------------------------
1 | SYTableView 快速tableView创建
2 | ===========================
3 | 功能简介
4 | ========
5 | 妈妈再也不用担心我写重复性的代码了,提供快速创建tableView的方式
6 | 1.方便快捷的创建普通型tableView
7 | 2.提供九宫格灵活控制
8 | 3.section创建
9 | 4.动态高度
10 |
11 | ###如何使用SYTableView
12 | 使用sytableview快速创建只需要三步,1.引入文件 2.初始化 3.设置数据
13 | 1.将SYTableView/SYTableView文件夹中的所有文件拽入项目中
14 | 2.导入头文件:
15 | #import "SYTableViewHeader.h"
16 |
17 | 1.普通弄tableView创建如下:
18 | 效果图:
19 | 
20 | 初始化如下:
21 | ``` objc
22 | //1.引入
23 | #import "SYTableViewHeader.h"
24 | //设置tableFrame
25 | CGRect tbvFrame = CGRectMake(0, 60, self.view.frame.size.width, self.view.frame.size.height);
26 | //获取自定义view的className
27 | NSString *rowViewClass = NSStringFromClass([RowView class]);
28 | //2.初始化tableView
29 | SYTableView *rowTbv = [[SYTableView alloc]initWithFrame:tbvFrame customerViewName:rowViewClass target:self action:@selector(rowListDataSetup:)];
30 | //指定数据
31 | rowTbv.arrayDatas = [NSMutableArray arrayWithArray:[DemoDataManager getRowViewData]];
32 | rowTbv.rowHeight = 45;//指定行高
33 | [self.view addSubview:rowTbv];
34 | }
35 | ```
36 |
37 | 2.设置table数据
38 | ``` objc
39 | //3.为tableView设置数据
40 | - (void)rowListDataSetup:(SYTableViewEntity *)ent{
41 | RowView *rowView = (RowView *)ent.customView;//取出自定义view
42 | RowViewModel *model = ent.entity;//取出数据中的实体
43 | //赋值
44 | [rowView.btn_avatar setImage:[UIImage imageNamed:model.string_icon] forState:UIControlStateNormal];
45 | rowView.lbl_title.text = model.string_title;
46 | ```
47 |
48 | 更多的使用方法尽在demo中
49 | 如有遇到问题或者有好的建议,欢迎联系我
50 | author:shiyuan
51 | 联系方式:qq:1213423761 mail:1213423761@qq.com
52 |
--------------------------------------------------------------------------------
/SYTableViewTests/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleExecutable
8 | $(EXECUTABLE_NAME)
9 | CFBundleIdentifier
10 | shiyuan.$(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 |
--------------------------------------------------------------------------------
/SYTableViewTests/SYTableViewTests.m:
--------------------------------------------------------------------------------
1 | //
2 | // SYTableViewTests.m
3 | // SYTableViewTests
4 | //
5 | // Created by 世缘 on 15/9/3.
6 | // Copyright (c) 2015年 shiyuan. All rights reserved.
7 | //
8 |
9 | #import
10 | #import
11 |
12 | @interface SYTableViewTests : XCTestCase
13 |
14 | @end
15 |
16 | @implementation SYTableViewTests
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 |
--------------------------------------------------------------------------------
/syTableView.podspec:
--------------------------------------------------------------------------------
1 | Pod::Spec.new do |s|
2 | s.name = "syTableView"
3 | s.version = "1.0.0"
4 | s.summary = "A marquee view used on iOS."
5 | s.description = <<-DESC
6 | It is a marquee view used on iOS, which implement by Objective-C.
7 | DESC
8 | s.homepage = "https://github.com/shiyuan17/syTableView"
9 | # s.screenshots = "https://github.com/shiyuan17/syTableView/blob/master/iosTableView.jpg", "https://github.com/shiyuan17/syTableView/blob/master/iosTableView1.png"
10 | s.license = 'MIT'
11 | s.author = { "黄世源" => "1213423761@qq.com" }
12 | s.source = { :git => "https://github.com/shiyuan17/syTableView.git", :tag => s.version.to_s }
13 | # s.social_media_url = 'https://twitter.com/NAME'
14 |
15 | s.platform = :ios, '5.0'
16 | # s.ios.deployment_target = '5.0'
17 | # s.osx.deployment_target = '10.7'
18 | s.requires_arc = true
19 |
20 | s.source_files = 'syTableView/*'
21 | # s.resources = 'Assets'
22 |
23 | # s.ios.exclude_files = 'Classes/osx'
24 | # s.osx.exclude_files = 'Classes/ios'
25 | # s.public_header_files = 'Classes/**/*.h'
26 | s.frameworks = 'Foundation', 'UIKit'
27 |
28 | end
--------------------------------------------------------------------------------
/syTableView.xcodeproj/project.pbxproj:
--------------------------------------------------------------------------------
1 | // !$*UTF8*$!
2 | {
3 | archiveVersion = 1;
4 | classes = {
5 | };
6 | objectVersion = 46;
7 | objects = {
8 |
9 | /* Begin PBXBuildFile section */
10 | DC5413751B98704A008CC92F /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = DC5413741B98704A008CC92F /* main.m */; };
11 | DC54137E1B98704A008CC92F /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = DC54137C1B98704A008CC92F /* Main.storyboard */; };
12 | DC5413801B98704A008CC92F /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = DC54137F1B98704A008CC92F /* Images.xcassets */; };
13 | DC5413831B98704A008CC92F /* LaunchScreen.xib in Resources */ = {isa = PBXBuildFile; fileRef = DC5413811B98704A008CC92F /* LaunchScreen.xib */; };
14 | DC54138F1B98704A008CC92F /* SYTableViewTests.m in Sources */ = {isa = PBXBuildFile; fileRef = DC54138E1B98704A008CC92F /* SYTableViewTests.m */; };
15 | DC5413A11B987072008CC92F /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = DC54139A1B987072008CC92F /* AppDelegate.m */; };
16 | DC5413AC1B987123008CC92F /* SYSectionEntity.m in Sources */ = {isa = PBXBuildFile; fileRef = DC5413A41B987123008CC92F /* SYSectionEntity.m */; };
17 | DC5413AD1B987123008CC92F /* SYTableView.m in Sources */ = {isa = PBXBuildFile; fileRef = DC5413A61B987123008CC92F /* SYTableView.m */; };
18 | DC5413AE1B987123008CC92F /* SYTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = DC5413A81B987123008CC92F /* SYTableViewCell.m */; };
19 | DC5413AF1B987123008CC92F /* SYTableViewEntity.m in Sources */ = {isa = PBXBuildFile; fileRef = DC5413AA1B987123008CC92F /* SYTableViewEntity.m */; };
20 | DC5413B21B98748D008CC92F /* RowViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = DC5413B11B98748D008CC92F /* RowViewController.m */; };
21 | DC5413B51B9874C4008CC92F /* RowView.m in Sources */ = {isa = PBXBuildFile; fileRef = DC5413B41B9874C4008CC92F /* RowView.m */; };
22 | DC5413B81B9877CA008CC92F /* RowViewModel.m in Sources */ = {isa = PBXBuildFile; fileRef = DC5413B71B9877CA008CC92F /* RowViewModel.m */; };
23 | DC5413BB1B9878B1008CC92F /* DemoDataManager.m in Sources */ = {isa = PBXBuildFile; fileRef = DC5413BA1B9878B1008CC92F /* DemoDataManager.m */; };
24 | DCF6481E1B987C410042968C /* DemoViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = DCF6481D1B987C410042968C /* DemoViewController.m */; };
25 | DCF648211B988BB00042968C /* JiugonggeViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = DCF648201B988BB00042968C /* JiugonggeViewController.m */; };
26 | DCF648241B988C1C0042968C /* JiugonggeView.m in Sources */ = {isa = PBXBuildFile; fileRef = DCF648231B988C1C0042968C /* JiugonggeView.m */; };
27 | DCF648271B988EAB0042968C /* JiugonggeModel.m in Sources */ = {isa = PBXBuildFile; fileRef = DCF648261B988EAB0042968C /* JiugonggeModel.m */; };
28 | DCF6482A1B989EB70042968C /* SectionViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = DCF648291B989EB70042968C /* SectionViewController.m */; };
29 | DCF6482D1B989F5C0042968C /* TestView.m in Sources */ = {isa = PBXBuildFile; fileRef = DCF6482C1B989F5C0042968C /* TestView.m */; };
30 | DCF648301B98A2DF0042968C /* DynamicViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = DCF6482F1B98A2DF0042968C /* DynamicViewController.m */; };
31 | /* End PBXBuildFile section */
32 |
33 | /* Begin PBXContainerItemProxy section */
34 | DC5413891B98704A008CC92F /* PBXContainerItemProxy */ = {
35 | isa = PBXContainerItemProxy;
36 | containerPortal = DC5413671B98704A008CC92F /* Project object */;
37 | proxyType = 1;
38 | remoteGlobalIDString = DC54136E1B98704A008CC92F;
39 | remoteInfo = SYTableView;
40 | };
41 | /* End PBXContainerItemProxy section */
42 |
43 | /* Begin PBXFileReference section */
44 | DC54136F1B98704A008CC92F /* SYTableView.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = SYTableView.app; sourceTree = BUILT_PRODUCTS_DIR; };
45 | DC5413731B98704A008CC92F /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
46 | DC5413741B98704A008CC92F /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; };
47 | DC54137D1B98704A008CC92F /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; };
48 | DC54137F1B98704A008CC92F /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = ""; };
49 | DC5413821B98704A008CC92F /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/LaunchScreen.xib; sourceTree = ""; };
50 | DC5413881B98704A008CC92F /* SYTableViewTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = SYTableViewTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
51 | DC54138D1B98704A008CC92F /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
52 | DC54138E1B98704A008CC92F /* SYTableViewTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SYTableViewTests.m; sourceTree = ""; };
53 | DC5413991B987072008CC92F /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = ""; };
54 | DC54139A1B987072008CC92F /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = ""; };
55 | DC5413A31B987123008CC92F /* SYSectionEntity.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SYSectionEntity.h; sourceTree = ""; };
56 | DC5413A41B987123008CC92F /* SYSectionEntity.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SYSectionEntity.m; sourceTree = ""; };
57 | DC5413A51B987123008CC92F /* SYTableView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SYTableView.h; sourceTree = ""; };
58 | DC5413A61B987123008CC92F /* SYTableView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SYTableView.m; sourceTree = ""; };
59 | DC5413A71B987123008CC92F /* SYTableViewCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SYTableViewCell.h; sourceTree = ""; };
60 | DC5413A81B987123008CC92F /* SYTableViewCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SYTableViewCell.m; sourceTree = ""; };
61 | DC5413A91B987123008CC92F /* SYTableViewEntity.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SYTableViewEntity.h; sourceTree = ""; };
62 | DC5413AA1B987123008CC92F /* SYTableViewEntity.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SYTableViewEntity.m; sourceTree = ""; };
63 | DC5413AB1B987123008CC92F /* SYTableViewHeader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SYTableViewHeader.h; sourceTree = ""; };
64 | DC5413B01B98748D008CC92F /* RowViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RowViewController.h; sourceTree = ""; };
65 | DC5413B11B98748D008CC92F /* RowViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RowViewController.m; sourceTree = ""; };
66 | DC5413B31B9874C3008CC92F /* RowView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RowView.h; sourceTree = ""; };
67 | DC5413B41B9874C4008CC92F /* RowView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RowView.m; sourceTree = ""; };
68 | DC5413B61B9877CA008CC92F /* RowViewModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RowViewModel.h; sourceTree = ""; };
69 | DC5413B71B9877CA008CC92F /* RowViewModel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RowViewModel.m; sourceTree = ""; };
70 | DC5413B91B9878B1008CC92F /* DemoDataManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DemoDataManager.h; sourceTree = ""; };
71 | DC5413BA1B9878B1008CC92F /* DemoDataManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DemoDataManager.m; sourceTree = ""; };
72 | DCF6481C1B987C410042968C /* DemoViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DemoViewController.h; sourceTree = ""; };
73 | DCF6481D1B987C410042968C /* DemoViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DemoViewController.m; sourceTree = ""; };
74 | DCF6481F1B988BB00042968C /* JiugonggeViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JiugonggeViewController.h; sourceTree = ""; };
75 | DCF648201B988BB00042968C /* JiugonggeViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = JiugonggeViewController.m; sourceTree = ""; };
76 | DCF648221B988C1C0042968C /* JiugonggeView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JiugonggeView.h; sourceTree = ""; };
77 | DCF648231B988C1C0042968C /* JiugonggeView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = JiugonggeView.m; sourceTree = ""; };
78 | DCF648251B988EAB0042968C /* JiugonggeModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JiugonggeModel.h; sourceTree = ""; };
79 | DCF648261B988EAB0042968C /* JiugonggeModel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = JiugonggeModel.m; sourceTree = ""; };
80 | DCF648281B989EB70042968C /* SectionViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SectionViewController.h; sourceTree = ""; };
81 | DCF648291B989EB70042968C /* SectionViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SectionViewController.m; sourceTree = ""; };
82 | DCF6482B1B989F5C0042968C /* TestView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TestView.h; sourceTree = ""; };
83 | DCF6482C1B989F5C0042968C /* TestView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TestView.m; sourceTree = ""; };
84 | DCF6482E1B98A2DF0042968C /* DynamicViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DynamicViewController.h; sourceTree = ""; };
85 | DCF6482F1B98A2DF0042968C /* DynamicViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DynamicViewController.m; sourceTree = ""; };
86 | /* End PBXFileReference section */
87 |
88 | /* Begin PBXFrameworksBuildPhase section */
89 | DC54136C1B98704A008CC92F /* Frameworks */ = {
90 | isa = PBXFrameworksBuildPhase;
91 | buildActionMask = 2147483647;
92 | files = (
93 | );
94 | runOnlyForDeploymentPostprocessing = 0;
95 | };
96 | DC5413851B98704A008CC92F /* Frameworks */ = {
97 | isa = PBXFrameworksBuildPhase;
98 | buildActionMask = 2147483647;
99 | files = (
100 | );
101 | runOnlyForDeploymentPostprocessing = 0;
102 | };
103 | /* End PBXFrameworksBuildPhase section */
104 |
105 | /* Begin PBXGroup section */
106 | DC5413661B98704A008CC92F = {
107 | isa = PBXGroup;
108 | children = (
109 | DC5413711B98704A008CC92F /* SYTableView */,
110 | DC54138B1B98704A008CC92F /* SYTableViewTests */,
111 | DC5413701B98704A008CC92F /* Products */,
112 | );
113 | sourceTree = "";
114 | };
115 | DC5413701B98704A008CC92F /* Products */ = {
116 | isa = PBXGroup;
117 | children = (
118 | DC54136F1B98704A008CC92F /* SYTableView.app */,
119 | DC5413881B98704A008CC92F /* SYTableViewTests.xctest */,
120 | );
121 | name = Products;
122 | sourceTree = "";
123 | };
124 | DC5413711B98704A008CC92F /* SYTableView */ = {
125 | isa = PBXGroup;
126 | children = (
127 | DC5413A21B987123008CC92F /* SYTableView */,
128 | DC5413981B987072008CC92F /* AppDelegate */,
129 | DC54139B1B987072008CC92F /* UI */,
130 | DC54137C1B98704A008CC92F /* Main.storyboard */,
131 | DC54137F1B98704A008CC92F /* Images.xcassets */,
132 | DC5413811B98704A008CC92F /* LaunchScreen.xib */,
133 | DC5413721B98704A008CC92F /* Supporting Files */,
134 | );
135 | path = SYTableView;
136 | sourceTree = "";
137 | };
138 | DC5413721B98704A008CC92F /* Supporting Files */ = {
139 | isa = PBXGroup;
140 | children = (
141 | DC5413731B98704A008CC92F /* Info.plist */,
142 | DC5413741B98704A008CC92F /* main.m */,
143 | );
144 | name = "Supporting Files";
145 | sourceTree = "";
146 | };
147 | DC54138B1B98704A008CC92F /* SYTableViewTests */ = {
148 | isa = PBXGroup;
149 | children = (
150 | DC54138E1B98704A008CC92F /* SYTableViewTests.m */,
151 | DC54138C1B98704A008CC92F /* Supporting Files */,
152 | );
153 | path = SYTableViewTests;
154 | sourceTree = "";
155 | };
156 | DC54138C1B98704A008CC92F /* Supporting Files */ = {
157 | isa = PBXGroup;
158 | children = (
159 | DC54138D1B98704A008CC92F /* Info.plist */,
160 | );
161 | name = "Supporting Files";
162 | sourceTree = "";
163 | };
164 | DC5413981B987072008CC92F /* AppDelegate */ = {
165 | isa = PBXGroup;
166 | children = (
167 | DC5413991B987072008CC92F /* AppDelegate.h */,
168 | DC54139A1B987072008CC92F /* AppDelegate.m */,
169 | );
170 | path = AppDelegate;
171 | sourceTree = "";
172 | };
173 | DC54139B1B987072008CC92F /* UI */ = {
174 | isa = PBXGroup;
175 | children = (
176 | DC54139C1B987072008CC92F /* Demo */,
177 | );
178 | path = UI;
179 | sourceTree = "";
180 | };
181 | DC54139C1B987072008CC92F /* Demo */ = {
182 | isa = PBXGroup;
183 | children = (
184 | DC54139D1B987072008CC92F /* DataManager */,
185 | DC54139E1B987072008CC92F /* Model */,
186 | DC54139F1B987072008CC92F /* View */,
187 | DC5413A01B987072008CC92F /* ViewController */,
188 | );
189 | path = Demo;
190 | sourceTree = "";
191 | };
192 | DC54139D1B987072008CC92F /* DataManager */ = {
193 | isa = PBXGroup;
194 | children = (
195 | DC5413B91B9878B1008CC92F /* DemoDataManager.h */,
196 | DC5413BA1B9878B1008CC92F /* DemoDataManager.m */,
197 | );
198 | path = DataManager;
199 | sourceTree = "";
200 | };
201 | DC54139E1B987072008CC92F /* Model */ = {
202 | isa = PBXGroup;
203 | children = (
204 | DC5413B61B9877CA008CC92F /* RowViewModel.h */,
205 | DC5413B71B9877CA008CC92F /* RowViewModel.m */,
206 | DCF648251B988EAB0042968C /* JiugonggeModel.h */,
207 | DCF648261B988EAB0042968C /* JiugonggeModel.m */,
208 | );
209 | path = Model;
210 | sourceTree = "";
211 | };
212 | DC54139F1B987072008CC92F /* View */ = {
213 | isa = PBXGroup;
214 | children = (
215 | DC5413B31B9874C3008CC92F /* RowView.h */,
216 | DC5413B41B9874C4008CC92F /* RowView.m */,
217 | DCF648221B988C1C0042968C /* JiugonggeView.h */,
218 | DCF648231B988C1C0042968C /* JiugonggeView.m */,
219 | DCF6482B1B989F5C0042968C /* TestView.h */,
220 | DCF6482C1B989F5C0042968C /* TestView.m */,
221 | );
222 | path = View;
223 | sourceTree = "";
224 | };
225 | DC5413A01B987072008CC92F /* ViewController */ = {
226 | isa = PBXGroup;
227 | children = (
228 | DCF6481C1B987C410042968C /* DemoViewController.h */,
229 | DCF6481D1B987C410042968C /* DemoViewController.m */,
230 | DC5413B01B98748D008CC92F /* RowViewController.h */,
231 | DC5413B11B98748D008CC92F /* RowViewController.m */,
232 | DCF6481F1B988BB00042968C /* JiugonggeViewController.h */,
233 | DCF648201B988BB00042968C /* JiugonggeViewController.m */,
234 | DCF648281B989EB70042968C /* SectionViewController.h */,
235 | DCF648291B989EB70042968C /* SectionViewController.m */,
236 | DCF6482E1B98A2DF0042968C /* DynamicViewController.h */,
237 | DCF6482F1B98A2DF0042968C /* DynamicViewController.m */,
238 | );
239 | path = ViewController;
240 | sourceTree = "";
241 | };
242 | DC5413A21B987123008CC92F /* SYTableView */ = {
243 | isa = PBXGroup;
244 | children = (
245 | DC5413A31B987123008CC92F /* SYSectionEntity.h */,
246 | DC5413A41B987123008CC92F /* SYSectionEntity.m */,
247 | DC5413A51B987123008CC92F /* SYTableView.h */,
248 | DC5413A61B987123008CC92F /* SYTableView.m */,
249 | DC5413A71B987123008CC92F /* SYTableViewCell.h */,
250 | DC5413A81B987123008CC92F /* SYTableViewCell.m */,
251 | DC5413A91B987123008CC92F /* SYTableViewEntity.h */,
252 | DC5413AA1B987123008CC92F /* SYTableViewEntity.m */,
253 | DC5413AB1B987123008CC92F /* SYTableViewHeader.h */,
254 | );
255 | path = SYTableView;
256 | sourceTree = "";
257 | };
258 | /* End PBXGroup section */
259 |
260 | /* Begin PBXNativeTarget section */
261 | DC54136E1B98704A008CC92F /* SYTableView */ = {
262 | isa = PBXNativeTarget;
263 | buildConfigurationList = DC5413921B98704A008CC92F /* Build configuration list for PBXNativeTarget "SYTableView" */;
264 | buildPhases = (
265 | DC54136B1B98704A008CC92F /* Sources */,
266 | DC54136C1B98704A008CC92F /* Frameworks */,
267 | DC54136D1B98704A008CC92F /* Resources */,
268 | );
269 | buildRules = (
270 | );
271 | dependencies = (
272 | );
273 | name = SYTableView;
274 | productName = SYTableView;
275 | productReference = DC54136F1B98704A008CC92F /* SYTableView.app */;
276 | productType = "com.apple.product-type.application";
277 | };
278 | DC5413871B98704A008CC92F /* SYTableViewTests */ = {
279 | isa = PBXNativeTarget;
280 | buildConfigurationList = DC5413951B98704A008CC92F /* Build configuration list for PBXNativeTarget "SYTableViewTests" */;
281 | buildPhases = (
282 | DC5413841B98704A008CC92F /* Sources */,
283 | DC5413851B98704A008CC92F /* Frameworks */,
284 | DC5413861B98704A008CC92F /* Resources */,
285 | );
286 | buildRules = (
287 | );
288 | dependencies = (
289 | DC54138A1B98704A008CC92F /* PBXTargetDependency */,
290 | );
291 | name = SYTableViewTests;
292 | productName = SYTableViewTests;
293 | productReference = DC5413881B98704A008CC92F /* SYTableViewTests.xctest */;
294 | productType = "com.apple.product-type.bundle.unit-test";
295 | };
296 | /* End PBXNativeTarget section */
297 |
298 | /* Begin PBXProject section */
299 | DC5413671B98704A008CC92F /* Project object */ = {
300 | isa = PBXProject;
301 | attributes = {
302 | LastUpgradeCheck = 0630;
303 | ORGANIZATIONNAME = shiyuan;
304 | TargetAttributes = {
305 | DC54136E1B98704A008CC92F = {
306 | CreatedOnToolsVersion = 6.3.2;
307 | };
308 | DC5413871B98704A008CC92F = {
309 | CreatedOnToolsVersion = 6.3.2;
310 | TestTargetID = DC54136E1B98704A008CC92F;
311 | };
312 | };
313 | };
314 | buildConfigurationList = DC54136A1B98704A008CC92F /* Build configuration list for PBXProject "SYTableView" */;
315 | compatibilityVersion = "Xcode 3.2";
316 | developmentRegion = English;
317 | hasScannedForEncodings = 0;
318 | knownRegions = (
319 | en,
320 | Base,
321 | );
322 | mainGroup = DC5413661B98704A008CC92F;
323 | productRefGroup = DC5413701B98704A008CC92F /* Products */;
324 | projectDirPath = "";
325 | projectRoot = "";
326 | targets = (
327 | DC54136E1B98704A008CC92F /* SYTableView */,
328 | DC5413871B98704A008CC92F /* SYTableViewTests */,
329 | );
330 | };
331 | /* End PBXProject section */
332 |
333 | /* Begin PBXResourcesBuildPhase section */
334 | DC54136D1B98704A008CC92F /* Resources */ = {
335 | isa = PBXResourcesBuildPhase;
336 | buildActionMask = 2147483647;
337 | files = (
338 | DC54137E1B98704A008CC92F /* Main.storyboard in Resources */,
339 | DC5413831B98704A008CC92F /* LaunchScreen.xib in Resources */,
340 | DC5413801B98704A008CC92F /* Images.xcassets in Resources */,
341 | );
342 | runOnlyForDeploymentPostprocessing = 0;
343 | };
344 | DC5413861B98704A008CC92F /* Resources */ = {
345 | isa = PBXResourcesBuildPhase;
346 | buildActionMask = 2147483647;
347 | files = (
348 | );
349 | runOnlyForDeploymentPostprocessing = 0;
350 | };
351 | /* End PBXResourcesBuildPhase section */
352 |
353 | /* Begin PBXSourcesBuildPhase section */
354 | DC54136B1B98704A008CC92F /* Sources */ = {
355 | isa = PBXSourcesBuildPhase;
356 | buildActionMask = 2147483647;
357 | files = (
358 | DCF6482D1B989F5C0042968C /* TestView.m in Sources */,
359 | DCF6481E1B987C410042968C /* DemoViewController.m in Sources */,
360 | DC5413AF1B987123008CC92F /* SYTableViewEntity.m in Sources */,
361 | DCF648241B988C1C0042968C /* JiugonggeView.m in Sources */,
362 | DCF648211B988BB00042968C /* JiugonggeViewController.m in Sources */,
363 | DCF6482A1B989EB70042968C /* SectionViewController.m in Sources */,
364 | DCF648301B98A2DF0042968C /* DynamicViewController.m in Sources */,
365 | DC5413AC1B987123008CC92F /* SYSectionEntity.m in Sources */,
366 | DC5413AE1B987123008CC92F /* SYTableViewCell.m in Sources */,
367 | DC5413B21B98748D008CC92F /* RowViewController.m in Sources */,
368 | DC5413A11B987072008CC92F /* AppDelegate.m in Sources */,
369 | DC5413751B98704A008CC92F /* main.m in Sources */,
370 | DC5413BB1B9878B1008CC92F /* DemoDataManager.m in Sources */,
371 | DC5413AD1B987123008CC92F /* SYTableView.m in Sources */,
372 | DC5413B51B9874C4008CC92F /* RowView.m in Sources */,
373 | DC5413B81B9877CA008CC92F /* RowViewModel.m in Sources */,
374 | DCF648271B988EAB0042968C /* JiugonggeModel.m in Sources */,
375 | );
376 | runOnlyForDeploymentPostprocessing = 0;
377 | };
378 | DC5413841B98704A008CC92F /* Sources */ = {
379 | isa = PBXSourcesBuildPhase;
380 | buildActionMask = 2147483647;
381 | files = (
382 | DC54138F1B98704A008CC92F /* SYTableViewTests.m in Sources */,
383 | );
384 | runOnlyForDeploymentPostprocessing = 0;
385 | };
386 | /* End PBXSourcesBuildPhase section */
387 |
388 | /* Begin PBXTargetDependency section */
389 | DC54138A1B98704A008CC92F /* PBXTargetDependency */ = {
390 | isa = PBXTargetDependency;
391 | target = DC54136E1B98704A008CC92F /* SYTableView */;
392 | targetProxy = DC5413891B98704A008CC92F /* PBXContainerItemProxy */;
393 | };
394 | /* End PBXTargetDependency section */
395 |
396 | /* Begin PBXVariantGroup section */
397 | DC54137C1B98704A008CC92F /* Main.storyboard */ = {
398 | isa = PBXVariantGroup;
399 | children = (
400 | DC54137D1B98704A008CC92F /* Base */,
401 | );
402 | name = Main.storyboard;
403 | sourceTree = "";
404 | };
405 | DC5413811B98704A008CC92F /* LaunchScreen.xib */ = {
406 | isa = PBXVariantGroup;
407 | children = (
408 | DC5413821B98704A008CC92F /* Base */,
409 | );
410 | name = LaunchScreen.xib;
411 | sourceTree = "";
412 | };
413 | /* End PBXVariantGroup section */
414 |
415 | /* Begin XCBuildConfiguration section */
416 | DC5413901B98704A008CC92F /* Debug */ = {
417 | isa = XCBuildConfiguration;
418 | buildSettings = {
419 | ALWAYS_SEARCH_USER_PATHS = NO;
420 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
421 | CLANG_CXX_LIBRARY = "libc++";
422 | CLANG_ENABLE_MODULES = YES;
423 | CLANG_ENABLE_OBJC_ARC = YES;
424 | CLANG_WARN_BOOL_CONVERSION = YES;
425 | CLANG_WARN_CONSTANT_CONVERSION = YES;
426 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
427 | CLANG_WARN_EMPTY_BODY = YES;
428 | CLANG_WARN_ENUM_CONVERSION = YES;
429 | CLANG_WARN_INT_CONVERSION = YES;
430 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
431 | CLANG_WARN_UNREACHABLE_CODE = YES;
432 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
433 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
434 | COPY_PHASE_STRIP = NO;
435 | DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
436 | ENABLE_STRICT_OBJC_MSGSEND = YES;
437 | GCC_C_LANGUAGE_STANDARD = gnu99;
438 | GCC_DYNAMIC_NO_PIC = NO;
439 | GCC_NO_COMMON_BLOCKS = YES;
440 | GCC_OPTIMIZATION_LEVEL = 0;
441 | GCC_PREPROCESSOR_DEFINITIONS = (
442 | "DEBUG=1",
443 | "$(inherited)",
444 | );
445 | GCC_SYMBOLS_PRIVATE_EXTERN = NO;
446 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
447 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
448 | GCC_WARN_UNDECLARED_SELECTOR = YES;
449 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
450 | GCC_WARN_UNUSED_FUNCTION = YES;
451 | GCC_WARN_UNUSED_VARIABLE = YES;
452 | IPHONEOS_DEPLOYMENT_TARGET = 8.3;
453 | MTL_ENABLE_DEBUG_INFO = YES;
454 | ONLY_ACTIVE_ARCH = YES;
455 | SDKROOT = iphoneos;
456 | };
457 | name = Debug;
458 | };
459 | DC5413911B98704A008CC92F /* Release */ = {
460 | isa = XCBuildConfiguration;
461 | buildSettings = {
462 | ALWAYS_SEARCH_USER_PATHS = NO;
463 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
464 | CLANG_CXX_LIBRARY = "libc++";
465 | CLANG_ENABLE_MODULES = YES;
466 | CLANG_ENABLE_OBJC_ARC = YES;
467 | CLANG_WARN_BOOL_CONVERSION = YES;
468 | CLANG_WARN_CONSTANT_CONVERSION = YES;
469 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
470 | CLANG_WARN_EMPTY_BODY = YES;
471 | CLANG_WARN_ENUM_CONVERSION = YES;
472 | CLANG_WARN_INT_CONVERSION = YES;
473 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
474 | CLANG_WARN_UNREACHABLE_CODE = YES;
475 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
476 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
477 | COPY_PHASE_STRIP = NO;
478 | DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
479 | ENABLE_NS_ASSERTIONS = NO;
480 | ENABLE_STRICT_OBJC_MSGSEND = YES;
481 | GCC_C_LANGUAGE_STANDARD = gnu99;
482 | GCC_NO_COMMON_BLOCKS = YES;
483 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
484 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
485 | GCC_WARN_UNDECLARED_SELECTOR = YES;
486 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
487 | GCC_WARN_UNUSED_FUNCTION = YES;
488 | GCC_WARN_UNUSED_VARIABLE = YES;
489 | IPHONEOS_DEPLOYMENT_TARGET = 8.3;
490 | MTL_ENABLE_DEBUG_INFO = NO;
491 | SDKROOT = iphoneos;
492 | VALIDATE_PRODUCT = YES;
493 | };
494 | name = Release;
495 | };
496 | DC5413931B98704A008CC92F /* Debug */ = {
497 | isa = XCBuildConfiguration;
498 | buildSettings = {
499 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
500 | INFOPLIST_FILE = SYTableView/Info.plist;
501 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
502 | PRODUCT_NAME = "$(TARGET_NAME)";
503 | };
504 | name = Debug;
505 | };
506 | DC5413941B98704A008CC92F /* Release */ = {
507 | isa = XCBuildConfiguration;
508 | buildSettings = {
509 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
510 | INFOPLIST_FILE = SYTableView/Info.plist;
511 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
512 | PRODUCT_NAME = "$(TARGET_NAME)";
513 | };
514 | name = Release;
515 | };
516 | DC5413961B98704A008CC92F /* Debug */ = {
517 | isa = XCBuildConfiguration;
518 | buildSettings = {
519 | BUNDLE_LOADER = "$(TEST_HOST)";
520 | FRAMEWORK_SEARCH_PATHS = (
521 | "$(SDKROOT)/Developer/Library/Frameworks",
522 | "$(inherited)",
523 | );
524 | GCC_PREPROCESSOR_DEFINITIONS = (
525 | "DEBUG=1",
526 | "$(inherited)",
527 | );
528 | INFOPLIST_FILE = SYTableViewTests/Info.plist;
529 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
530 | PRODUCT_NAME = "$(TARGET_NAME)";
531 | TEST_HOST = "$(BUILT_PRODUCTS_DIR)/SYTableView.app/SYTableView";
532 | };
533 | name = Debug;
534 | };
535 | DC5413971B98704A008CC92F /* Release */ = {
536 | isa = XCBuildConfiguration;
537 | buildSettings = {
538 | BUNDLE_LOADER = "$(TEST_HOST)";
539 | FRAMEWORK_SEARCH_PATHS = (
540 | "$(SDKROOT)/Developer/Library/Frameworks",
541 | "$(inherited)",
542 | );
543 | INFOPLIST_FILE = SYTableViewTests/Info.plist;
544 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
545 | PRODUCT_NAME = "$(TARGET_NAME)";
546 | TEST_HOST = "$(BUILT_PRODUCTS_DIR)/SYTableView.app/SYTableView";
547 | };
548 | name = Release;
549 | };
550 | /* End XCBuildConfiguration section */
551 |
552 | /* Begin XCConfigurationList section */
553 | DC54136A1B98704A008CC92F /* Build configuration list for PBXProject "SYTableView" */ = {
554 | isa = XCConfigurationList;
555 | buildConfigurations = (
556 | DC5413901B98704A008CC92F /* Debug */,
557 | DC5413911B98704A008CC92F /* Release */,
558 | );
559 | defaultConfigurationIsVisible = 0;
560 | defaultConfigurationName = Release;
561 | };
562 | DC5413921B98704A008CC92F /* Build configuration list for PBXNativeTarget "SYTableView" */ = {
563 | isa = XCConfigurationList;
564 | buildConfigurations = (
565 | DC5413931B98704A008CC92F /* Debug */,
566 | DC5413941B98704A008CC92F /* Release */,
567 | );
568 | defaultConfigurationIsVisible = 0;
569 | defaultConfigurationName = Release;
570 | };
571 | DC5413951B98704A008CC92F /* Build configuration list for PBXNativeTarget "SYTableViewTests" */ = {
572 | isa = XCConfigurationList;
573 | buildConfigurations = (
574 | DC5413961B98704A008CC92F /* Debug */,
575 | DC5413971B98704A008CC92F /* Release */,
576 | );
577 | defaultConfigurationIsVisible = 0;
578 | defaultConfigurationName = Release;
579 | };
580 | /* End XCConfigurationList section */
581 | };
582 | rootObject = DC5413671B98704A008CC92F /* Project object */;
583 | }
584 |
--------------------------------------------------------------------------------
/syTableView.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/syTableView.xcodeproj/project.xcworkspace/xcshareddata/SYTableView.xccheckout:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IDESourceControlProjectFavoriteDictionaryKey
6 |
7 | IDESourceControlProjectIdentifier
8 | D7A0E546-9301-47AE-894E-56C16A2083F3
9 | IDESourceControlProjectName
10 | SYTableView
11 | IDESourceControlProjectOriginsDictionary
12 |
13 | 3192599C1C6989C78DDC1E50A3A04D7EEB1278B9
14 | https://github.com/shiyuan17/SYJiugonggeTableView.git
15 |
16 | IDESourceControlProjectPath
17 | SYTableView.xcodeproj
18 | IDESourceControlProjectRelativeInstallPathDictionary
19 |
20 | 3192599C1C6989C78DDC1E50A3A04D7EEB1278B9
21 | ../..
22 |
23 | IDESourceControlProjectURL
24 | https://github.com/shiyuan17/SYJiugonggeTableView.git
25 | IDESourceControlProjectVersion
26 | 111
27 | IDESourceControlProjectWCCIdentifier
28 | 3192599C1C6989C78DDC1E50A3A04D7EEB1278B9
29 | IDESourceControlProjectWCConfigurations
30 |
31 |
32 | IDESourceControlRepositoryExtensionIdentifierKey
33 | public.vcs.git
34 | IDESourceControlWCCIdentifierKey
35 | 3192599C1C6989C78DDC1E50A3A04D7EEB1278B9
36 | IDESourceControlWCCName
37 | SYJiugonggeTableView
38 |
39 |
40 |
41 |
42 |
--------------------------------------------------------------------------------
/syTableView.xcodeproj/project.xcworkspace/xcuserdata/shiyuan.xcuserdatad/UserInterfaceState.xcuserstate:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shiyuan17/syTableView/43fc9911f13537d3f570d144d3aca9dbd22e7c1a/syTableView.xcodeproj/project.xcworkspace/xcuserdata/shiyuan.xcuserdatad/UserInterfaceState.xcuserstate
--------------------------------------------------------------------------------
/syTableView.xcodeproj/xcuserdata/shiyuan.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
8 |
20 |
21 |
22 |
24 |
36 |
37 |
38 |
40 |
52 |
53 |
54 |
56 |
68 |
69 |
70 |
71 |
72 |
--------------------------------------------------------------------------------
/syTableView.xcodeproj/xcuserdata/shiyuan.xcuserdatad/xcschemes/syTableView.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 |
--------------------------------------------------------------------------------
/syTableView.xcodeproj/xcuserdata/shiyuan.xcuserdatad/xcschemes/xcschememanagement.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | SchemeUserState
6 |
7 | SYTableView.xcscheme
8 |
9 | orderHint
10 | 0
11 |
12 |
13 | SuppressBuildableAutocreation
14 |
15 | DC54136E1B98704A008CC92F
16 |
17 | primary
18 |
19 |
20 | DC5413871B98704A008CC92F
21 |
22 | primary
23 |
24 |
25 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/syTableView/AppDelegate/AppDelegate.h:
--------------------------------------------------------------------------------
1 | //
2 | // AppDelegate.h
3 | // SYTableView
4 | //
5 | // Created by 世缘 on 15/9/3.
6 | // Copyright (c) 2015年 shiyuan. 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 |
--------------------------------------------------------------------------------
/syTableView/AppDelegate/AppDelegate.m:
--------------------------------------------------------------------------------
1 | //
2 | // AppDelegate.m
3 | // SYTableView
4 | //
5 | // Created by 世缘 on 15/9/3.
6 | // Copyright (c) 2015年 shiyuan. All rights reserved.
7 | //
8 |
9 | #import "AppDelegate.h"
10 | #import "DemoViewController.h"
11 | @interface AppDelegate ()
12 |
13 | @end
14 |
15 | @implementation AppDelegate
16 |
17 |
18 | - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
19 | self.window = [[UIWindow alloc]initWithFrame:[UIScreen mainScreen].bounds];
20 | DemoViewController *vc = [[DemoViewController alloc]init];
21 | self.window.rootViewController = [[UINavigationController alloc] initWithRootViewController:vc];
22 | [self.window makeKeyAndVisible];
23 | return YES;
24 | }
25 |
26 | - (void)applicationWillResignActive:(UIApplication *)application {
27 | // 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.
28 | // 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.
29 | }
30 |
31 | - (void)applicationDidEnterBackground:(UIApplication *)application {
32 | // 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.
33 | // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits.
34 | }
35 |
36 | - (void)applicationWillEnterForeground:(UIApplication *)application {
37 | // 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.
38 | }
39 |
40 | - (void)applicationDidBecomeActive:(UIApplication *)application {
41 | // 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.
42 | }
43 |
44 | - (void)applicationWillTerminate:(UIApplication *)application {
45 | // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.
46 | }
47 |
48 | @end
49 |
--------------------------------------------------------------------------------
/syTableView/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 |
--------------------------------------------------------------------------------
/syTableView/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 |
--------------------------------------------------------------------------------
/syTableView/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 | }
--------------------------------------------------------------------------------
/syTableView/Images.xcassets/JggIcon/1.imageset/1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shiyuan17/syTableView/43fc9911f13537d3f570d144d3aca9dbd22e7c1a/syTableView/Images.xcassets/JggIcon/1.imageset/1.jpg
--------------------------------------------------------------------------------
/syTableView/Images.xcassets/JggIcon/1.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x",
6 | "filename" : "1.jpg"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/syTableView/Images.xcassets/JggIcon/10.imageset/10.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shiyuan17/syTableView/43fc9911f13537d3f570d144d3aca9dbd22e7c1a/syTableView/Images.xcassets/JggIcon/10.imageset/10.jpg
--------------------------------------------------------------------------------
/syTableView/Images.xcassets/JggIcon/10.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x",
6 | "filename" : "10.jpg"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/syTableView/Images.xcassets/JggIcon/11.imageset/11.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shiyuan17/syTableView/43fc9911f13537d3f570d144d3aca9dbd22e7c1a/syTableView/Images.xcassets/JggIcon/11.imageset/11.jpg
--------------------------------------------------------------------------------
/syTableView/Images.xcassets/JggIcon/11.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x",
6 | "filename" : "11.jpg"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/syTableView/Images.xcassets/JggIcon/12.imageset/12.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shiyuan17/syTableView/43fc9911f13537d3f570d144d3aca9dbd22e7c1a/syTableView/Images.xcassets/JggIcon/12.imageset/12.jpg
--------------------------------------------------------------------------------
/syTableView/Images.xcassets/JggIcon/12.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x",
6 | "filename" : "12.jpg"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/syTableView/Images.xcassets/JggIcon/13.imageset/13.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shiyuan17/syTableView/43fc9911f13537d3f570d144d3aca9dbd22e7c1a/syTableView/Images.xcassets/JggIcon/13.imageset/13.jpg
--------------------------------------------------------------------------------
/syTableView/Images.xcassets/JggIcon/13.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x",
6 | "filename" : "13.jpg"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/syTableView/Images.xcassets/JggIcon/14.imageset/14.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shiyuan17/syTableView/43fc9911f13537d3f570d144d3aca9dbd22e7c1a/syTableView/Images.xcassets/JggIcon/14.imageset/14.jpg
--------------------------------------------------------------------------------
/syTableView/Images.xcassets/JggIcon/14.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x",
6 | "filename" : "14.jpg"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/syTableView/Images.xcassets/JggIcon/15.imageset/15.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shiyuan17/syTableView/43fc9911f13537d3f570d144d3aca9dbd22e7c1a/syTableView/Images.xcassets/JggIcon/15.imageset/15.jpg
--------------------------------------------------------------------------------
/syTableView/Images.xcassets/JggIcon/15.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x",
6 | "filename" : "15.jpg"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/syTableView/Images.xcassets/JggIcon/16.imageset/16.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shiyuan17/syTableView/43fc9911f13537d3f570d144d3aca9dbd22e7c1a/syTableView/Images.xcassets/JggIcon/16.imageset/16.jpg
--------------------------------------------------------------------------------
/syTableView/Images.xcassets/JggIcon/16.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x",
6 | "filename" : "16.jpg"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/syTableView/Images.xcassets/JggIcon/17.imageset/17.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shiyuan17/syTableView/43fc9911f13537d3f570d144d3aca9dbd22e7c1a/syTableView/Images.xcassets/JggIcon/17.imageset/17.jpg
--------------------------------------------------------------------------------
/syTableView/Images.xcassets/JggIcon/17.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x",
6 | "filename" : "17.jpg"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/syTableView/Images.xcassets/JggIcon/18.imageset/18.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shiyuan17/syTableView/43fc9911f13537d3f570d144d3aca9dbd22e7c1a/syTableView/Images.xcassets/JggIcon/18.imageset/18.jpg
--------------------------------------------------------------------------------
/syTableView/Images.xcassets/JggIcon/18.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x",
6 | "filename" : "18.jpg"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/syTableView/Images.xcassets/JggIcon/19.imageset/19.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shiyuan17/syTableView/43fc9911f13537d3f570d144d3aca9dbd22e7c1a/syTableView/Images.xcassets/JggIcon/19.imageset/19.jpg
--------------------------------------------------------------------------------
/syTableView/Images.xcassets/JggIcon/19.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x",
6 | "filename" : "19.jpg"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/syTableView/Images.xcassets/JggIcon/2.imageset/2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shiyuan17/syTableView/43fc9911f13537d3f570d144d3aca9dbd22e7c1a/syTableView/Images.xcassets/JggIcon/2.imageset/2.jpg
--------------------------------------------------------------------------------
/syTableView/Images.xcassets/JggIcon/2.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x",
6 | "filename" : "2.jpg"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/syTableView/Images.xcassets/JggIcon/20.imageset/20.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shiyuan17/syTableView/43fc9911f13537d3f570d144d3aca9dbd22e7c1a/syTableView/Images.xcassets/JggIcon/20.imageset/20.jpg
--------------------------------------------------------------------------------
/syTableView/Images.xcassets/JggIcon/20.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x",
6 | "filename" : "20.jpg"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/syTableView/Images.xcassets/JggIcon/21.imageset/21.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shiyuan17/syTableView/43fc9911f13537d3f570d144d3aca9dbd22e7c1a/syTableView/Images.xcassets/JggIcon/21.imageset/21.jpg
--------------------------------------------------------------------------------
/syTableView/Images.xcassets/JggIcon/21.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x",
6 | "filename" : "21.jpg"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/syTableView/Images.xcassets/JggIcon/3.imageset/3.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shiyuan17/syTableView/43fc9911f13537d3f570d144d3aca9dbd22e7c1a/syTableView/Images.xcassets/JggIcon/3.imageset/3.jpg
--------------------------------------------------------------------------------
/syTableView/Images.xcassets/JggIcon/3.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x",
6 | "filename" : "3.jpg"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/syTableView/Images.xcassets/JggIcon/4.imageset/4.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shiyuan17/syTableView/43fc9911f13537d3f570d144d3aca9dbd22e7c1a/syTableView/Images.xcassets/JggIcon/4.imageset/4.jpg
--------------------------------------------------------------------------------
/syTableView/Images.xcassets/JggIcon/4.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x",
6 | "filename" : "4.jpg"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/syTableView/Images.xcassets/JggIcon/5.imageset/5.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shiyuan17/syTableView/43fc9911f13537d3f570d144d3aca9dbd22e7c1a/syTableView/Images.xcassets/JggIcon/5.imageset/5.jpg
--------------------------------------------------------------------------------
/syTableView/Images.xcassets/JggIcon/5.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x",
6 | "filename" : "5.jpg"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/syTableView/Images.xcassets/JggIcon/6.imageset/6.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shiyuan17/syTableView/43fc9911f13537d3f570d144d3aca9dbd22e7c1a/syTableView/Images.xcassets/JggIcon/6.imageset/6.jpg
--------------------------------------------------------------------------------
/syTableView/Images.xcassets/JggIcon/6.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x",
6 | "filename" : "6.jpg"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/syTableView/Images.xcassets/JggIcon/7.imageset/7.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shiyuan17/syTableView/43fc9911f13537d3f570d144d3aca9dbd22e7c1a/syTableView/Images.xcassets/JggIcon/7.imageset/7.jpg
--------------------------------------------------------------------------------
/syTableView/Images.xcassets/JggIcon/7.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x",
6 | "filename" : "7.jpg"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/syTableView/Images.xcassets/JggIcon/8.imageset/8.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shiyuan17/syTableView/43fc9911f13537d3f570d144d3aca9dbd22e7c1a/syTableView/Images.xcassets/JggIcon/8.imageset/8.jpg
--------------------------------------------------------------------------------
/syTableView/Images.xcassets/JggIcon/8.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x",
6 | "filename" : "8.jpg"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/syTableView/Images.xcassets/JggIcon/9.imageset/9.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shiyuan17/syTableView/43fc9911f13537d3f570d144d3aca9dbd22e7c1a/syTableView/Images.xcassets/JggIcon/9.imageset/9.jpg
--------------------------------------------------------------------------------
/syTableView/Images.xcassets/JggIcon/9.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x",
6 | "filename" : "9.jpg"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/syTableView/Images.xcassets/listIcon/my_bookmark_icon.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "scale" : "2x",
10 | "filename" : "my_bookmark_icon@2x.png"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x",
15 | "filename" : "my_bookmark_icon@3x.png"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | }
22 | }
--------------------------------------------------------------------------------
/syTableView/Images.xcassets/listIcon/my_bookmark_icon.imageset/my_bookmark_icon@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shiyuan17/syTableView/43fc9911f13537d3f570d144d3aca9dbd22e7c1a/syTableView/Images.xcassets/listIcon/my_bookmark_icon.imageset/my_bookmark_icon@2x.png
--------------------------------------------------------------------------------
/syTableView/Images.xcassets/listIcon/my_bookmark_icon.imageset/my_bookmark_icon@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shiyuan17/syTableView/43fc9911f13537d3f570d144d3aca9dbd22e7c1a/syTableView/Images.xcassets/listIcon/my_bookmark_icon.imageset/my_bookmark_icon@3x.png
--------------------------------------------------------------------------------
/syTableView/Images.xcassets/listIcon/my_download_icon.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "scale" : "2x",
10 | "filename" : "my_download_icon@2x.png"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x",
15 | "filename" : "my_download_icon@3x.png"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | }
22 | }
--------------------------------------------------------------------------------
/syTableView/Images.xcassets/listIcon/my_download_icon.imageset/my_download_icon@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shiyuan17/syTableView/43fc9911f13537d3f570d144d3aca9dbd22e7c1a/syTableView/Images.xcassets/listIcon/my_download_icon.imageset/my_download_icon@2x.png
--------------------------------------------------------------------------------
/syTableView/Images.xcassets/listIcon/my_download_icon.imageset/my_download_icon@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shiyuan17/syTableView/43fc9911f13537d3f570d144d3aca9dbd22e7c1a/syTableView/Images.xcassets/listIcon/my_download_icon.imageset/my_download_icon@3x.png
--------------------------------------------------------------------------------
/syTableView/Images.xcassets/listIcon/my_laapp_icon.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "scale" : "2x",
10 | "filename" : "my_laapp_icon@2x.png"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x",
15 | "filename" : "my_laapp_icon@3x.png"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | }
22 | }
--------------------------------------------------------------------------------
/syTableView/Images.xcassets/listIcon/my_laapp_icon.imageset/my_laapp_icon@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shiyuan17/syTableView/43fc9911f13537d3f570d144d3aca9dbd22e7c1a/syTableView/Images.xcassets/listIcon/my_laapp_icon.imageset/my_laapp_icon@2x.png
--------------------------------------------------------------------------------
/syTableView/Images.xcassets/listIcon/my_laapp_icon.imageset/my_laapp_icon@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shiyuan17/syTableView/43fc9911f13537d3f570d144d3aca9dbd22e7c1a/syTableView/Images.xcassets/listIcon/my_laapp_icon.imageset/my_laapp_icon@3x.png
--------------------------------------------------------------------------------
/syTableView/Images.xcassets/listIcon/my_notification_icon.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "scale" : "2x",
10 | "filename" : "my_notification_icon@2x.png"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x",
15 | "filename" : "my_notification_icon@3x.png"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | }
22 | }
--------------------------------------------------------------------------------
/syTableView/Images.xcassets/listIcon/my_notification_icon.imageset/my_notification_icon@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shiyuan17/syTableView/43fc9911f13537d3f570d144d3aca9dbd22e7c1a/syTableView/Images.xcassets/listIcon/my_notification_icon.imageset/my_notification_icon@2x.png
--------------------------------------------------------------------------------
/syTableView/Images.xcassets/listIcon/my_notification_icon.imageset/my_notification_icon@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shiyuan17/syTableView/43fc9911f13537d3f570d144d3aca9dbd22e7c1a/syTableView/Images.xcassets/listIcon/my_notification_icon.imageset/my_notification_icon@3x.png
--------------------------------------------------------------------------------
/syTableView/Images.xcassets/listIcon/my_photo_logged_in.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "scale" : "2x",
10 | "filename" : "my_photo_logged_in@2x.png"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x",
15 | "filename" : "my_photo_logged_in@3x.png"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | }
22 | }
--------------------------------------------------------------------------------
/syTableView/Images.xcassets/listIcon/my_photo_logged_in.imageset/my_photo_logged_in@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shiyuan17/syTableView/43fc9911f13537d3f570d144d3aca9dbd22e7c1a/syTableView/Images.xcassets/listIcon/my_photo_logged_in.imageset/my_photo_logged_in@2x.png
--------------------------------------------------------------------------------
/syTableView/Images.xcassets/listIcon/my_photo_logged_in.imageset/my_photo_logged_in@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shiyuan17/syTableView/43fc9911f13537d3f570d144d3aca9dbd22e7c1a/syTableView/Images.xcassets/listIcon/my_photo_logged_in.imageset/my_photo_logged_in@3x.png
--------------------------------------------------------------------------------
/syTableView/Images.xcassets/listIcon/my_privilege_icon.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "scale" : "2x",
10 | "filename" : "my_privilege_icon@2x.png"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x",
15 | "filename" : "my_privilege_icon@3x.png"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | }
22 | }
--------------------------------------------------------------------------------
/syTableView/Images.xcassets/listIcon/my_privilege_icon.imageset/my_privilege_icon@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shiyuan17/syTableView/43fc9911f13537d3f570d144d3aca9dbd22e7c1a/syTableView/Images.xcassets/listIcon/my_privilege_icon.imageset/my_privilege_icon@2x.png
--------------------------------------------------------------------------------
/syTableView/Images.xcassets/listIcon/my_privilege_icon.imageset/my_privilege_icon@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shiyuan17/syTableView/43fc9911f13537d3f570d144d3aca9dbd22e7c1a/syTableView/Images.xcassets/listIcon/my_privilege_icon.imageset/my_privilege_icon@3x.png
--------------------------------------------------------------------------------
/syTableView/Images.xcassets/listIcon/my_setting_icon.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "scale" : "2x",
10 | "filename" : "my_setting_icon@2x.png"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x",
15 | "filename" : "my_setting_icon@3x.png"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | }
22 | }
--------------------------------------------------------------------------------
/syTableView/Images.xcassets/listIcon/my_setting_icon.imageset/my_setting_icon@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shiyuan17/syTableView/43fc9911f13537d3f570d144d3aca9dbd22e7c1a/syTableView/Images.xcassets/listIcon/my_setting_icon.imageset/my_setting_icon@2x.png
--------------------------------------------------------------------------------
/syTableView/Images.xcassets/listIcon/my_setting_icon.imageset/my_setting_icon@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shiyuan17/syTableView/43fc9911f13537d3f570d144d3aca9dbd22e7c1a/syTableView/Images.xcassets/listIcon/my_setting_icon.imageset/my_setting_icon@3x.png
--------------------------------------------------------------------------------
/syTableView/Images.xcassets/listIcon/my_wallet_icon.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "scale" : "2x",
10 | "filename" : "my_wallet_icon@2x.png"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x",
15 | "filename" : "my_wallet_icon@3x.png"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | }
22 | }
--------------------------------------------------------------------------------
/syTableView/Images.xcassets/listIcon/my_wallet_icon.imageset/my_wallet_icon@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shiyuan17/syTableView/43fc9911f13537d3f570d144d3aca9dbd22e7c1a/syTableView/Images.xcassets/listIcon/my_wallet_icon.imageset/my_wallet_icon@2x.png
--------------------------------------------------------------------------------
/syTableView/Images.xcassets/listIcon/my_wallet_icon.imageset/my_wallet_icon@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shiyuan17/syTableView/43fc9911f13537d3f570d144d3aca9dbd22e7c1a/syTableView/Images.xcassets/listIcon/my_wallet_icon.imageset/my_wallet_icon@3x.png
--------------------------------------------------------------------------------
/syTableView/Images.xcassets/listIcon/personalcenter_tab_icon_selected.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "scale" : "2x",
10 | "filename" : "personalcenter_tab_icon_selected@2x.png"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x",
15 | "filename" : "personalcenter_tab_icon_selected@3x.png"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | }
22 | }
--------------------------------------------------------------------------------
/syTableView/Images.xcassets/listIcon/personalcenter_tab_icon_selected.imageset/personalcenter_tab_icon_selected@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shiyuan17/syTableView/43fc9911f13537d3f570d144d3aca9dbd22e7c1a/syTableView/Images.xcassets/listIcon/personalcenter_tab_icon_selected.imageset/personalcenter_tab_icon_selected@2x.png
--------------------------------------------------------------------------------
/syTableView/Images.xcassets/listIcon/personalcenter_tab_icon_selected.imageset/personalcenter_tab_icon_selected@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shiyuan17/syTableView/43fc9911f13537d3f570d144d3aca9dbd22e7c1a/syTableView/Images.xcassets/listIcon/personalcenter_tab_icon_selected.imageset/personalcenter_tab_icon_selected@3x.png
--------------------------------------------------------------------------------
/syTableView/Images.xcassets/listIcon/pixel_search_share_friends.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "scale" : "2x",
10 | "filename" : "pixel_search_share_friends@2x.png"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/syTableView/Images.xcassets/listIcon/pixel_search_share_friends.imageset/pixel_search_share_friends@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shiyuan17/syTableView/43fc9911f13537d3f570d144d3aca9dbd22e7c1a/syTableView/Images.xcassets/listIcon/pixel_search_share_friends.imageset/pixel_search_share_friends@2x.png
--------------------------------------------------------------------------------
/syTableView/Images.xcassets/listIcon/toolbar_goforward_highlighted.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "scale" : "2x",
10 | "filename" : "toolbar_goforward_highlighted@2x.png"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x",
15 | "filename" : "toolbar_goforward_highlighted@3x.png"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | }
22 | }
--------------------------------------------------------------------------------
/syTableView/Images.xcassets/listIcon/toolbar_goforward_highlighted.imageset/toolbar_goforward_highlighted@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shiyuan17/syTableView/43fc9911f13537d3f570d144d3aca9dbd22e7c1a/syTableView/Images.xcassets/listIcon/toolbar_goforward_highlighted.imageset/toolbar_goforward_highlighted@2x.png
--------------------------------------------------------------------------------
/syTableView/Images.xcassets/listIcon/toolbar_goforward_highlighted.imageset/toolbar_goforward_highlighted@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shiyuan17/syTableView/43fc9911f13537d3f570d144d3aca9dbd22e7c1a/syTableView/Images.xcassets/listIcon/toolbar_goforward_highlighted.imageset/toolbar_goforward_highlighted@3x.png
--------------------------------------------------------------------------------
/syTableView/Images.xcassets/listIcon/toolbar_goforward_normal.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "scale" : "2x",
10 | "filename" : "toolbar_goforward_normal@2x.png"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x",
15 | "filename" : "toolbar_goforward_normal@3x.png"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | }
22 | }
--------------------------------------------------------------------------------
/syTableView/Images.xcassets/listIcon/toolbar_goforward_normal.imageset/toolbar_goforward_normal@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shiyuan17/syTableView/43fc9911f13537d3f570d144d3aca9dbd22e7c1a/syTableView/Images.xcassets/listIcon/toolbar_goforward_normal.imageset/toolbar_goforward_normal@2x.png
--------------------------------------------------------------------------------
/syTableView/Images.xcassets/listIcon/toolbar_goforward_normal.imageset/toolbar_goforward_normal@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shiyuan17/syTableView/43fc9911f13537d3f570d144d3aca9dbd22e7c1a/syTableView/Images.xcassets/listIcon/toolbar_goforward_normal.imageset/toolbar_goforward_normal@3x.png
--------------------------------------------------------------------------------
/syTableView/Images.xcassets/listIcon/wallet_paysecurity.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "scale" : "2x",
10 | "filename" : "wallet_paysecurity@2x.png"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x",
15 | "filename" : "wallet_paysecurity@3x.png"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | }
22 | }
--------------------------------------------------------------------------------
/syTableView/Images.xcassets/listIcon/wallet_paysecurity.imageset/wallet_paysecurity@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shiyuan17/syTableView/43fc9911f13537d3f570d144d3aca9dbd22e7c1a/syTableView/Images.xcassets/listIcon/wallet_paysecurity.imageset/wallet_paysecurity@2x.png
--------------------------------------------------------------------------------
/syTableView/Images.xcassets/listIcon/wallet_paysecurity.imageset/wallet_paysecurity@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shiyuan17/syTableView/43fc9911f13537d3f570d144d3aca9dbd22e7c1a/syTableView/Images.xcassets/listIcon/wallet_paysecurity.imageset/wallet_paysecurity@3x.png
--------------------------------------------------------------------------------
/syTableView/Images.xcassets/listIcon/wallet_trade.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "scale" : "2x",
10 | "filename" : "wallet_trade@2x.png"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x",
15 | "filename" : "wallet_trade@3x.png"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | }
22 | }
--------------------------------------------------------------------------------
/syTableView/Images.xcassets/listIcon/wallet_trade.imageset/wallet_trade@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shiyuan17/syTableView/43fc9911f13537d3f570d144d3aca9dbd22e7c1a/syTableView/Images.xcassets/listIcon/wallet_trade.imageset/wallet_trade@2x.png
--------------------------------------------------------------------------------
/syTableView/Images.xcassets/listIcon/wallet_trade.imageset/wallet_trade@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shiyuan17/syTableView/43fc9911f13537d3f570d144d3aca9dbd22e7c1a/syTableView/Images.xcassets/listIcon/wallet_trade.imageset/wallet_trade@3x.png
--------------------------------------------------------------------------------
/syTableView/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleExecutable
8 | $(EXECUTABLE_NAME)
9 | CFBundleIdentifier
10 | shiyuan.$(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 |
--------------------------------------------------------------------------------
/syTableView/SYTableView/SYSectionEntity.h:
--------------------------------------------------------------------------------
1 | //
2 | // SYSectionEntity.h
3 | // SyUtils
4 | //
5 | // Created by 世缘 on 15/8/19.
6 | // Copyright (c) 2015年 shiyuan. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @interface SYSectionEntity : NSObject
12 | @property (nonatomic,strong) id obj;
13 | @property (nonatomic,strong) NSMutableArray *rowArray;
14 | @end
15 |
--------------------------------------------------------------------------------
/syTableView/SYTableView/SYSectionEntity.m:
--------------------------------------------------------------------------------
1 | //
2 | // SYSectionEntity.m
3 | // SyUtils
4 | //
5 | // Created by 世缘 on 15/8/19.
6 | // Copyright (c) 2015年 shiyuan. All rights reserved.
7 | //
8 |
9 | #import "SYSectionEntity.h"
10 |
11 | @implementation SYSectionEntity
12 | - (id)init{
13 | if (self = [super init]) {
14 | _rowArray = [[NSMutableArray alloc]init];
15 | }
16 | return self;
17 | }
18 | @end
19 |
--------------------------------------------------------------------------------
/syTableView/SYTableView/SYTableView.h:
--------------------------------------------------------------------------------
1 | //
2 | // SYTableView.h
3 | // SyUtils
4 | //
5 | // Created by 世缘 on 15/8/17.
6 | // Copyright (c) 2015年 shiyuan. All rights reserved.
7 | //
8 |
9 | #import
10 | #import "SYTableViewEntity.h"
11 |
12 | typedef void (^setupData)(SYTableViewEntity*);
13 | typedef void (^tableViewSelectedBlock)(NSIndexPath *);
14 | @interface SYTableView : UITableView
15 | @property (nonatomic,strong) UIView *sectionHeaderView;/**<头部sectionView*/
16 |
17 | @property (nonatomic,strong) NSString *customerViewName;/**<自定义view名称*/
18 | @property (nonatomic,strong) NSMutableArray *arrayDatas;/**<数据源数据*/
19 | @property (nonatomic,strong) NSArray *cellHeightArrays;/**cell动态高度数据*/
20 | @property (weak, nonatomic) id target;
21 | @property (assign, nonatomic) SEL setupDataAction;
22 | @property (nonatomic, copy) void (^setupDataCallBack)(SYTableViewEntity *);
23 | @property (nonatomic,copy) tableViewSelectedBlock selectBlock;
24 | @property (nonatomic,assign) SEL selectedMethod;
25 |
26 | @property (nonatomic,assign) NSInteger columnNumber;/**<列数*/
27 | @property (nonatomic,assign) CGFloat leftMargin;/**<左边距*/
28 | @property (nonatomic,assign) CGFloat apartMargin;/**<中间间距*/
29 | @property (nonatomic,assign) CGFloat cellWidth;//**
13 | // objc_msgSend
14 | #define msgSend(...) ((void (*)(void *, SEL, NSObject *))objc_msgSend)(__VA_ARGS__)
15 | #define msgTarget(target) (__bridge void *)(target)
16 | @implementation SYTableView
17 | {
18 | BOOL isBlock;
19 | BOOL isSectionData;
20 | }
21 | @synthesize customerViewName,columnNumber;
22 | @synthesize leftMargin,apartMargin,cellWidth;
23 |
24 | - (id)init{
25 | if (self = [super init]) {
26 | _arrayDatas = [NSMutableArray array];
27 | _isSectionStickyHeader = YES;
28 | }
29 | return self;
30 | }
31 |
32 | #pragma mark - 单行tableview初始化 sel方法回调
33 | - (id)initWithFrame:(CGRect)frame customerViewName:(NSString *)viewName target:(id)target action:(SEL)action{
34 | if (self = [super initWithFrame:frame]) {
35 | self.target = target;
36 | self.setupDataAction = action;
37 | self.separatorStyle = UITableViewCellSeparatorStyleNone;
38 | customerViewName = viewName;
39 | columnNumber = 1;
40 | leftMargin = 0;
41 | apartMargin = 0;
42 | self.delegate = self;
43 | self.dataSource = self;
44 | isBlock = NO;
45 | }
46 | return self;
47 | }
48 |
49 | #pragma mark - 单行tableview初始化 block回调
50 | - (id)initWithFrame:(CGRect)frame customerViewName:(NSString *)viewName setupData:(void (^)(SYTableViewEntity *))setupData{
51 | if (self = [super initWithFrame:frame]) {
52 | customerViewName = viewName;
53 | self.separatorStyle = UITableViewCellSeparatorStyleNone;
54 | columnNumber = 1;
55 | leftMargin = 0;
56 | apartMargin = 0;
57 | self.delegate = self;
58 | self.dataSource = self;
59 | isBlock = YES;
60 | self.setupDataCallBack = setupData;
61 | }
62 | return self;
63 | }
64 |
65 | #pragma mark - 多列tableview初始化 sel回调
66 | - (id)initWithFrame:(CGRect)frame customerViewName:(NSString *)viewName columnNumber:(int)column target:(id)target action:(SEL)action{
67 | self = [self initWithFrame:frame customerViewName:viewName columnNumber:column leftMargin:5 apartMargin:5 target:target action:action];
68 | return self;
69 | }
70 |
71 | #pragma mark - 多列tableview初始化 block回调
72 | - (id)initWithFrame:(CGRect)frame customerViewName:(NSString *)viewName columnNumber:(int)column setupData:(void (^)(SYTableViewEntity *))setupData{
73 | self = [self initWithFrame:frame customerViewName:viewName columnNumber:column leftMargin:5 apartMargin:5 setupData:setupData];
74 | return self;
75 | }
76 |
77 | #pragma mark - 多列tableview初始化 sel回调 leftMargin margin
78 | - (id)initWithFrame:(CGRect)frame customerViewName:(NSString *)viewName columnNumber:(int)column leftMargin:(CGFloat)lMargin apartMargin:(CGFloat)margin target:(id)target action:(SEL)action{
79 | if (self = [super initWithFrame:frame]) {
80 | self.target = target;
81 | self.setupDataAction = action;
82 | self.separatorStyle = UITableViewCellSeparatorStyleNone;
83 |
84 | customerViewName = viewName;
85 | columnNumber = column;
86 | leftMargin = lMargin;
87 | apartMargin = margin;
88 | CGFloat tWidth = (self.frame.size.width-(leftMargin*2))-((column-1)*apartMargin);
89 | cellWidth = tWidth/column;
90 | isBlock = NO;
91 | self.delegate = self;
92 | self.dataSource = self;
93 | }
94 | return self;
95 | }
96 |
97 | #pragma mark - 多列tableview初始化 block回调 leftMargin margin
98 | - (id)initWithFrame:(CGRect)frame customerViewName:(NSString *)viewName columnNumber:(int)column leftMargin:(CGFloat)lMargin apartMargin:(CGFloat)margin setupData:(void (^)(SYTableViewEntity *))setupData{
99 | if (self = [super initWithFrame:frame]) {
100 | self.separatorStyle = UITableViewCellSeparatorStyleNone;
101 | cellWidth = self.frame.size.width/column;
102 | customerViewName = viewName;
103 | columnNumber = column;
104 | leftMargin = lMargin;
105 | apartMargin = margin;
106 | CGFloat tWidth = (self.frame.size.width-(leftMargin*2))-((column-1)*apartMargin);
107 | cellWidth = tWidth/column;
108 | isBlock = YES;
109 | self.delegate = self;
110 | self.dataSource = self;
111 | self.setupDataCallBack = setupData;
112 | }
113 | return self;
114 | }
115 |
116 | - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{
117 | if (_cellHeightArrays && _cellHeightArrays.count>0) {
118 | CGFloat height = [_cellHeightArrays[indexPath.row] floatValue];
119 | return height;
120 | }
121 | return self.rowHeight;
122 | }
123 |
124 | - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{
125 | if (!self.arrayDatas) {
126 | return 0;
127 | }
128 | if (isSectionData && self.arrayDatas.count>0) {
129 | SYSectionEntity *entity = self.arrayDatas[section];
130 | return (entity.rowArray.count + columnNumber - 1) / columnNumber;
131 | }
132 | return (_arrayDatas.count + columnNumber - 1) / columnNumber;
133 | }
134 |
135 | - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
136 | SYTableViewCell *cell=nil;
137 | cell = [tableView dequeueReusableCellWithIdentifier:self.customerViewName];
138 | if(cell==nil){
139 | if (cellWidth==0) {
140 | cellWidth = self.frame.size.width;
141 | }
142 | cell = [[SYTableViewCell alloc]
143 | initWithReuseIdentifier:customerViewName
144 | customerViewName:customerViewName
145 | cellColumnNumber:columnNumber
146 | leftMargin :leftMargin
147 | apartMargin :apartMargin
148 | width :cellWidth
149 | height :self.rowHeight];
150 | cell.setupDataTaget = self.target;
151 | cell.setupDataAction = self.setupDataAction;
152 | cell.setupDataCallBack = self.setupDataCallBack;
153 | }
154 | cell.selectionStyle = UITableViewCellSelectionStyleBlue;
155 | [cell loadJiugonggeCellData:indexPath cellDatas:self.arrayDatas];
156 | return cell;
157 | }
158 |
159 | - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{
160 | if (isSectionData && self.arrayDatas.count>0) {
161 | return self.arrayDatas.count;
162 | }
163 | return 1;
164 | }
165 |
166 | - (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section{
167 | if (isSectionData && self.arrayDatas.count>0) {
168 | return self.sectionHeaderHeight;
169 | }
170 | return 0;
171 | }
172 |
173 | - (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section{
174 | NSData * tempArchive = [NSKeyedArchiver archivedDataWithRootObject:_sectionHeaderView];
175 | return [NSKeyedUnarchiver unarchiveObjectWithData:tempArchive];
176 | }
177 |
178 | - (void)setArrayDatas:(NSMutableArray *)datas{
179 | if (datas && datas.count>0) {
180 | id className = datas[0];
181 | if ([className isKindOfClass:[SYSectionEntity class]]) {
182 | isSectionData = YES;
183 | }else{
184 | isSectionData = NO;
185 | }
186 | }
187 | _arrayDatas = datas;
188 | }
189 |
190 | #pragma mark - tableView选中事件
191 | - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
192 | if (_selectBlock) {
193 | self.selectBlock(indexPath);
194 | }
195 | if ([self.target respondsToSelector:self.selectedMethod]) {
196 | msgSend(msgTarget(self.target),self.selectedMethod,indexPath);
197 | }
198 | [tableView deselectRowAtIndexPath:indexPath animated:YES];
199 | }
200 |
201 | // 去掉UItableview headerview黏性
202 | - (void)scrollViewDidScroll:(UIScrollView *)scrollView
203 | {
204 | if (!_isSectionStickyHeader) {
205 | CGFloat sectionHeaderHeight = 40;
206 | if (scrollView.contentOffset.y<=sectionHeaderHeight&&scrollView.contentOffset.y>=0) {
207 | scrollView.contentInset = UIEdgeInsetsMake(-scrollView.contentOffset.y, 0, 0, 0);
208 | }
209 | else if (scrollView.contentOffset.y>=sectionHeaderHeight) {
210 | scrollView.contentInset = UIEdgeInsetsMake(-sectionHeaderHeight, 0, 0, 0);
211 | }
212 | }
213 |
214 | }
215 | @end
216 |
--------------------------------------------------------------------------------
/syTableView/SYTableView/SYTableViewCell.h:
--------------------------------------------------------------------------------
1 | //
2 | // SYTableViewCell.h
3 | // SyUtils
4 | //
5 | // Created by 世缘 on 15/8/17.
6 | // Copyright (c) 2015年 shiyuan. All rights reserved.
7 | //
8 |
9 | #import
10 | #define kTagStart 1000
11 | @class SYTableViewEntity;
12 |
13 | @interface SYTableViewCell : UITableViewCell
14 | @property (nonatomic,assign) CGFloat leftMargin;
15 | @property (nonatomic,strong) NSArray *cellDatas;
16 | @property (nonatomic,assign) NSInteger cellColumnNumber;
17 |
18 | @property (weak, nonatomic) id setupDataTaget;
19 | @property (assign, nonatomic) SEL setupDataAction;
20 | @property (nonatomic, copy) void (^setupDataCallBack)(SYTableViewEntity *);
21 |
22 | - (id)initWithReuseIdentifier:(NSString *) reuseIdentifier
23 | customerViewName:(NSString *) viewName
24 | cellColumnNumber:(NSInteger) columnNumber
25 | leftMargin:(CGFloat) leftMargin
26 | apartMargin:(CGFloat) apartMargin
27 | width:(CGFloat) width
28 | height:(CGFloat) height;
29 |
30 | -(id)loadJiugonggeCellData:(NSIndexPath *)indexPath cellDatas:(NSArray *)datas;
31 | @end
32 |
--------------------------------------------------------------------------------
/syTableView/SYTableView/SYTableViewCell.m:
--------------------------------------------------------------------------------
1 | //
2 | // SYTableViewCell.m
3 | // SyUtils
4 | //
5 | // Created by 世缘 on 15/8/17.
6 | // Copyright (c) 2015年 shiyuan. All rights reserved.
7 | //
8 |
9 | #import "SYTableViewCell.h"
10 | #import "SYTableViewEntity.h"
11 | #import
12 | // objc_msgSend
13 | #define msgSend(...) ((void (*)(void *, SEL, NSObject *))objc_msgSend)(__VA_ARGS__)
14 | #define msgTarget(target) (__bridge void *)(target)
15 |
16 | @implementation SYTableViewCell
17 | @synthesize cellColumnNumber,cellDatas,leftMargin;
18 |
19 | -(id)init{
20 | if (self = [super init]) {
21 | }
22 | return self;
23 | }
24 |
25 | #pragma mark 初始化cell
26 | - (id)initWithReuseIdentifier:(NSString *) reuseIdentifier
27 | customerViewName:(NSString *) viewName
28 | cellColumnNumber:(NSInteger) columnNumber
29 | leftMargin:(CGFloat) lMargin
30 | apartMargin:(CGFloat) apartMargin
31 | width:(CGFloat) width
32 | height:(CGFloat) height{
33 | self = [super initWithStyle:UITableViewCellStyleDefault reuseIdentifier:reuseIdentifier];
34 | if(self){
35 | leftMargin = lMargin;
36 | self.cellColumnNumber = columnNumber;
37 | for (int i = 0; i= self.cellDatas.count) {
64 | length = self.cellDatas.count - location;
65 | }
66 | NSRange range = NSMakeRange(location, length);
67 | NSArray *rowProducts = [self.cellDatas subarrayWithRange:range];
68 | [self setRowProducts:rowProducts indexPath:indexPath];
69 | self.backgroundColor = [UIColor clearColor];
70 | return self;
71 | }
72 |
73 | #pragma mark 设置cell数据
74 | -(void) setRowProducts:(NSArray *)products indexPath:(NSIndexPath *)indexPath{
75 | for (int i = 0; iproducts.count - 1) {
79 | view.hidden = YES;
80 | } else {
81 | view.hidden = NO;
82 | SYTableViewEntity *entity = [[SYTableViewEntity alloc]init];
83 | entity.customView = view;
84 | entity.entity = products[i];
85 | entity.indexPath=indexPath;
86 | if ([self.setupDataTaget respondsToSelector:self.setupDataAction]) {
87 | msgSend(msgTarget(self.setupDataTaget),self.setupDataAction,entity);
88 | }
89 | if (self.setupDataCallBack) {
90 | self.setupDataCallBack(entity);
91 | }
92 | }
93 | }
94 | }
95 |
96 | - (void)dealloc{
97 | self.cellDatas = nil;
98 | }
99 | @end
100 |
--------------------------------------------------------------------------------
/syTableView/SYTableView/SYTableViewEntity.h:
--------------------------------------------------------------------------------
1 | //
2 | // SYTableViewEntity.h
3 | // SyUtils
4 | //
5 | // Created by 世缘 on 15/8/17.
6 | // Copyright (c) 2015年 shiyuan. All rights reserved.
7 | //
8 |
9 | #import
10 | #import
11 |
12 | @interface SYTableViewEntity : NSObject
13 | @property (nonatomic,strong) UIView *customView;
14 | @property (nonatomic,strong) id entity;
15 | @property (nonatomic,strong) NSIndexPath *indexPath;
16 | @end
17 |
--------------------------------------------------------------------------------
/syTableView/SYTableView/SYTableViewEntity.m:
--------------------------------------------------------------------------------
1 | //
2 | // SYTableViewEntity.m
3 | // SyUtils
4 | //
5 | // Created by 世缘 on 15/8/17.
6 | // Copyright (c) 2015年 shiyuan. All rights reserved.
7 | //
8 |
9 | #import "SYTableViewEntity.h"
10 |
11 | @implementation SYTableViewEntity
12 |
13 | @end
14 |
--------------------------------------------------------------------------------
/syTableView/SYTableView/SYTableViewHeader.h:
--------------------------------------------------------------------------------
1 | //
2 | // SYTableViewHeader.h
3 | // GoShopping
4 | //
5 | // Created by 世缘 on 15/8/30.
6 | // Copyright (c) 2015年 shiyuan. All rights reserved.
7 | //
8 |
9 |
10 |
11 | #ifndef GoShopping_SYTableViewHeader_h
12 | #define GoShopping_SYTableViewHeader_h
13 |
14 | #import "SYSectionEntity.h"
15 | #import "SYTableView.h"
16 | #import "SYTableViewCell.h"
17 | #import "SYTableViewEntity.h"
18 |
19 | #endif
20 |
21 |
22 |
--------------------------------------------------------------------------------
/syTableView/UI/Demo/DataManager/DemoDataManager.h:
--------------------------------------------------------------------------------
1 | //
2 | // DemoDataManager.h
3 | // SYTableView
4 | //
5 | // Created by 世缘 on 15/9/3.
6 | // Copyright (c) 2015年 shiyuan. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @interface DemoDataManager : NSObject
12 | + (NSArray *)getRowViewData;
13 | + (NSArray *)getJiugonggeData;
14 | @end
15 |
--------------------------------------------------------------------------------
/syTableView/UI/Demo/DataManager/DemoDataManager.m:
--------------------------------------------------------------------------------
1 | //
2 | // DemoDataManager.m
3 | // SYTableView
4 | //
5 | // Created by 世缘 on 15/9/3.
6 | // Copyright (c) 2015年 shiyuan. All rights reserved.
7 | //
8 |
9 | #import "DemoDataManager.h"
10 | #import "RowViewModel.h"
11 | #import "JiugonggeModel.h"
12 |
13 | @implementation DemoDataManager
14 | + (NSArray *)getRowViewData{
15 | NSMutableArray *results = [NSMutableArray array];
16 | NSArray *arrayIcon = [NSArray arrayWithObjects:
17 | @"personalcenter_tab_icon_selected",//用户中心
18 | @"my_privilege_icon",//vip专区
19 | @"my_wallet_icon",//我的钱包
20 | @"my_notification_icon",//我的消息
21 | @"my_laapp_icon",//我的订阅
22 | @"my_bookmark_icon",//书签/历史
23 | @"my_download_icon",//下载/离线
24 | @"wallet_paysecurity",//安全检查
25 | @"wallet_trade",//文件管理
26 | @"pixel_search_share_friends",//图片管理
27 | @"my_setting_icon",//设置
28 | nil];
29 |
30 | NSArray *arrayTitle = [NSArray arrayWithObjects:
31 | @"用户中心",
32 | @"vip专区",
33 | @"我的钱包",
34 | @"我的消息",
35 | @"我的订阅",
36 | @"书签/历史",
37 | @"下载/离线",
38 | @"安全检查",
39 | @"文件管理",
40 | @"图片管理",
41 | @"设置",
42 | nil];
43 |
44 | for (int i =0; i
10 |
11 | @interface JiugonggeModel : NSObject
12 | @property (nonatomic,strong) NSString *title;
13 | @property (nonatomic,strong) NSString *icon;
14 | @end
15 |
--------------------------------------------------------------------------------
/syTableView/UI/Demo/Model/JiugonggeModel.m:
--------------------------------------------------------------------------------
1 | //
2 | // JiugonggeModel.m
3 | // SYTableView
4 | //
5 | // Created by 世缘 on 15/9/3.
6 | // Copyright (c) 2015年 shiyuan. All rights reserved.
7 | //
8 |
9 | #import "JiugonggeModel.h"
10 |
11 | @implementation JiugonggeModel
12 |
13 | @end
14 |
--------------------------------------------------------------------------------
/syTableView/UI/Demo/Model/RowViewModel.h:
--------------------------------------------------------------------------------
1 | //
2 | // RowViewModel.h
3 | // SYTableView
4 | //
5 | // Created by 世缘 on 15/9/3.
6 | // Copyright (c) 2015年 shiyuan. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @interface RowViewModel : NSObject
12 | @property (nonatomic,retain) NSString *string_icon;
13 | @property (nonatomic,retain) NSString *string_title;
14 | @end
15 |
--------------------------------------------------------------------------------
/syTableView/UI/Demo/Model/RowViewModel.m:
--------------------------------------------------------------------------------
1 | //
2 | // RowViewModel.m
3 | // SYTableView
4 | //
5 | // Created by 世缘 on 15/9/3.
6 | // Copyright (c) 2015年 shiyuan. All rights reserved.
7 | //
8 |
9 | #import "RowViewModel.h"
10 |
11 | @implementation RowViewModel
12 |
13 | @end
14 |
--------------------------------------------------------------------------------
/syTableView/UI/Demo/View/JiugonggeView.h:
--------------------------------------------------------------------------------
1 | //
2 | // JiugonggeView.h
3 | // SYTableView
4 | //
5 | // Created by 世缘 on 15/9/3.
6 | // Copyright (c) 2015年 shiyuan. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @interface JiugonggeView : UIView
12 | @property (nonatomic,strong) UIButton *btn_avatar;
13 | @property (nonatomic,strong) UILabel *lbl_title;
14 | @end
15 |
--------------------------------------------------------------------------------
/syTableView/UI/Demo/View/JiugonggeView.m:
--------------------------------------------------------------------------------
1 | //
2 | // JiugonggeView.m
3 | // SYTableView
4 | //
5 | // Created by 世缘 on 15/9/3.
6 | // Copyright (c) 2015年 shiyuan. All rights reserved.
7 | //
8 |
9 | #import "JiugonggeView.h"
10 |
11 | @implementation JiugonggeView
12 | -(id)initWithFrame:(CGRect)frame{
13 | if (self = [super initWithFrame:frame]) {
14 | _btn_avatar = [[UIButton alloc]init];
15 | _btn_avatar.frame = CGRectMake(0, 0, frame.size.width, frame.size.height-20);
16 | [self addSubview:_btn_avatar];
17 |
18 | _lbl_title = [[UILabel alloc]init];
19 | _lbl_title.frame = CGRectMake(0, _btn_avatar.frame.origin.y+_btn_avatar.frame.size.height, _btn_avatar.frame.size.width, 20);
20 | _lbl_title.text = @"测试";
21 | _lbl_title.textAlignment = NSTextAlignmentCenter;
22 | [self addSubview:_lbl_title];
23 |
24 | }
25 | return self;
26 | }
27 | @end
28 |
--------------------------------------------------------------------------------
/syTableView/UI/Demo/View/RowView.h:
--------------------------------------------------------------------------------
1 | //
2 | // RowView.h
3 | // SYTableView
4 | //
5 | // Created by 世缘 on 15/9/3.
6 | // Copyright (c) 2015年 shiyuan. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @interface RowView : UIView
12 | @property(nonatomic,retain) UIButton *btn_avatar;
13 | @property(nonatomic,retain) UILabel *lbl_title;
14 | @property(nonatomic,retain) UIImageView *img_arrow;
15 | @end
16 |
--------------------------------------------------------------------------------
/syTableView/UI/Demo/View/RowView.m:
--------------------------------------------------------------------------------
1 | //
2 | // RowView.m
3 | // SYTableView
4 | //
5 | // Created by 世缘 on 15/9/3.
6 | // Copyright (c) 2015年 shiyuan. All rights reserved.
7 | //
8 |
9 | #import "RowView.h"
10 | #define RGB16(rgbValue) [UIColor colorWithRed:((float)((rgbValue & 0xFF0000) >> 16))/255.0 green:((float)((rgbValue & 0xFF00) >> 8))/255.0 blue:((float)(rgbValue & 0xFF))/255.0 alpha:1.0]
11 |
12 | @implementation RowView
13 | -(id)initWithFrame:(CGRect)frame{
14 | if (self = [super initWithFrame:frame]) {
15 | UIView *headLine = [[UIView alloc]init];
16 | headLine.frame = CGRectMake(0, 0, frame.size.width, 0.5);
17 | headLine.backgroundColor = RGB16(0xc8c7cc);
18 | [self addSubview:headLine];
19 |
20 | _btn_avatar = [[UIButton alloc]init];
21 | _btn_avatar.frame = CGRectMake(18, 15, 20, 20);
22 | [self addSubview:_btn_avatar];
23 |
24 | _lbl_title = [[UILabel alloc]init];
25 | CGFloat lbl_titleX = _btn_avatar.frame.origin.x+_btn_avatar.frame.size.width+20;
26 | _lbl_title.frame = CGRectMake(lbl_titleX, 17, 205, 15);
27 | _lbl_title.textColor = RGB16(0x000000);
28 | _lbl_title.backgroundColor = [UIColor clearColor];
29 | [self addSubview:_lbl_title];
30 |
31 | _img_arrow = [[UIImageView alloc]init];
32 | CGFloat img_arrowX = frame.size.width-30;
33 | _img_arrow.frame = CGRectMake(img_arrowX, 16, 20, 20);
34 | _img_arrow.image = [UIImage imageNamed:@"toolbar_goforward_normal"];
35 | [self addSubview:_img_arrow];
36 |
37 | }
38 | return self;
39 | }
40 | @end
41 |
--------------------------------------------------------------------------------
/syTableView/UI/Demo/View/TestView.h:
--------------------------------------------------------------------------------
1 | //
2 | // TestView.h
3 | // SYTableView
4 | //
5 | // Created by 世缘 on 15/9/3.
6 | // Copyright (c) 2015年 shiyuan. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @interface TestView : UIView
12 | @property (nonatomic,strong) UILabel *lblText;
13 | @end
14 |
--------------------------------------------------------------------------------
/syTableView/UI/Demo/View/TestView.m:
--------------------------------------------------------------------------------
1 | //
2 | // TestView.m
3 | // SYTableView
4 | //
5 | // Created by 世缘 on 15/9/3.
6 | // Copyright (c) 2015年 shiyuan. All rights reserved.
7 | //
8 |
9 | #import "TestView.h"
10 |
11 | @implementation TestView
12 | -(id)initWithFrame:(CGRect)frame{
13 | if (self = [super initWithFrame:frame]) {
14 | _lblText = [[UILabel alloc]init];
15 | _lblText.frame = CGRectMake(10, 10, 100, 30);
16 | _lblText.text = @"测试";
17 | _lblText.textColor = [UIColor orangeColor];
18 | [self addSubview:_lblText];
19 |
20 | UIView *line = [[UIView alloc]init];
21 | line.frame = CGRectMake(0, frame.size.height-1, frame.size.width, 0.5);
22 | line.backgroundColor = [UIColor grayColor];
23 | [self addSubview:line];
24 | }
25 | return self;
26 | }
27 | @end
28 |
--------------------------------------------------------------------------------
/syTableView/UI/Demo/ViewController/DemoViewController.h:
--------------------------------------------------------------------------------
1 | //
2 | // DemoViewController.h
3 | // SYTableView
4 | //
5 | // Created by 世缘 on 15/9/3.
6 | // Copyright (c) 2015年 shiyuan. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @interface DemoViewController : UIViewController
12 |
13 | @end
14 |
--------------------------------------------------------------------------------
/syTableView/UI/Demo/ViewController/DemoViewController.m:
--------------------------------------------------------------------------------
1 | //
2 | // DemoViewController.m
3 | // SYTableView
4 | //
5 | // Created by 世缘 on 15/9/3.
6 | // Copyright (c) 2015年 shiyuan. All rights reserved.
7 | //
8 |
9 | #import "DemoViewController.h"
10 | #import "SYTableViewHeader.h"
11 | #import "RowViewController.h"
12 | #import "JiugonggeViewController.h"
13 | #import "SectionViewController.h"
14 | #import "DynamicViewController.h"
15 |
16 | @implementation DemoViewController
17 | - (void)viewDidLoad{
18 | [super viewDidLoad];
19 | self.title = @"快速创建TableView";
20 | self.view.backgroundColor = [UIColor whiteColor];
21 | self.automaticallyAdjustsScrollViewInsets = NO;
22 |
23 | NSMutableArray *arrays = [[NSMutableArray alloc]initWithObjects:@"普通单行tableView",@"九宫格",@"section",@"动态高度", nil];
24 | NSString *customerName = NSStringFromClass([UITableViewCell class]);
25 | CGRect tbvFrame = CGRectMake(0, 60, self.view.frame.size.width, self.view.frame.size.height);
26 | //初始化
27 | SYTableView *tbv = [[SYTableView alloc]initWithFrame:tbvFrame customerViewName:customerName setupData:^(SYTableViewEntity *ent) {
28 | UITableViewCell *cell = (UITableViewCell *)ent.customView;
29 | cell.userInteractionEnabled = NO;
30 | cell.textLabel.text = arrays[ent.indexPath.row];
31 | }];
32 | //设置数据来源
33 | tbv.arrayDatas = arrays;
34 |
35 | //设置选中事件 block设置方式
36 | [tbv setSelectBlock:^(NSIndexPath *indexPath){
37 | NSLog(@"block click");
38 | switch (indexPath.row) {
39 | case 0:
40 | {
41 | RowViewController *vc = [[RowViewController alloc]init];
42 | [self.navigationController pushViewController:vc animated:YES];
43 | break;
44 | }
45 | case 1:
46 | {
47 | JiugonggeViewController *vc = [[JiugonggeViewController alloc]init];
48 | [self.navigationController pushViewController:vc animated:YES];
49 | break;
50 | }
51 | case 2:
52 | {
53 | SectionViewController *vc = [[SectionViewController alloc]init];
54 | [self.navigationController pushViewController:vc animated:YES];
55 | break;
56 | }
57 | case 3:
58 | {
59 | DynamicViewController *vc = [[DynamicViewController alloc]init];
60 | [self.navigationController pushViewController:vc animated:YES];
61 | break;
62 | }
63 | default:
64 | break;
65 | }
66 | }];
67 |
68 | //设置选中事件 普通方法方式
69 | tbv.target = self;
70 | tbv.selectedMethod = @selector(tableViewSelected:);
71 | [self.view addSubview:tbv];
72 | }
73 |
74 | - (void)tableViewSelected:(NSIndexPath *)indexpath{
75 | NSLog(@"click");
76 | }
77 | @end
78 |
--------------------------------------------------------------------------------
/syTableView/UI/Demo/ViewController/DynamicViewController.h:
--------------------------------------------------------------------------------
1 | //
2 | // DynamicViewController.h
3 | // SYTableView
4 | //
5 | // Created by 世缘 on 15/9/3.
6 | // Copyright (c) 2015年 shiyuan. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @interface DynamicViewController : UIViewController
12 |
13 | @end
14 |
--------------------------------------------------------------------------------
/syTableView/UI/Demo/ViewController/DynamicViewController.m:
--------------------------------------------------------------------------------
1 | //
2 | // DynamicViewController.m
3 | // SYTableView
4 | //
5 | // Created by 世缘 on 15/9/3.
6 | // Copyright (c) 2015年 shiyuan. All rights reserved.
7 | //
8 |
9 | #import "DynamicViewController.h"
10 | #import "SYTableViewHeader.h"
11 | #import "TestView.h"
12 |
13 | @implementation DynamicViewController
14 | - (void)viewDidLoad{
15 | [super viewDidLoad];
16 | self.automaticallyAdjustsScrollViewInsets = NO;
17 | self.view.backgroundColor = [UIColor whiteColor];
18 | self.title = @"动态高度TableView";
19 |
20 |
21 | //动态高度
22 | CGRect tbvFrame = CGRectMake(0, 60, self.view.frame.size.width, self.view.frame.size.height-60);
23 | NSString *viewName = NSStringFromClass([TestView class]);
24 | SYTableView *tbv = [[SYTableView alloc]initWithFrame:tbvFrame customerViewName:viewName columnNumber:1 target:self action:@selector(setupData)];
25 | tbv.arrayDatas = [NSMutableArray arrayWithObjects:@"",@"",@"", nil];
26 | tbv.rowHeight = 40;
27 | tbv.cellHeightArrays = [NSArray arrayWithObjects:@"45",@"55",@"65", nil];
28 | [tbv reloadData];
29 | [self.view addSubview:tbv];
30 | }
31 | @end
32 |
--------------------------------------------------------------------------------
/syTableView/UI/Demo/ViewController/JiugonggeViewController.h:
--------------------------------------------------------------------------------
1 | //
2 | // JiugonggeViewController.h
3 | // SYTableView
4 | //
5 | // Created by 世缘 on 15/9/3.
6 | // Copyright (c) 2015年 shiyuan. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @interface JiugonggeViewController : UIViewController
12 |
13 | @end
14 |
--------------------------------------------------------------------------------
/syTableView/UI/Demo/ViewController/JiugonggeViewController.m:
--------------------------------------------------------------------------------
1 | //
2 | // JiugonggeViewController.m
3 | // SYTableView
4 | //
5 | // Created by 世缘 on 15/9/3.
6 | // Copyright (c) 2015年 shiyuan. All rights reserved.
7 | //
8 |
9 | #import "JiugonggeViewController.h"
10 | //引入
11 | #import "SYTableViewHeader.h"
12 |
13 | #import "JiugonggeView.h"
14 | #import "JiugonggeModel.h"
15 | #import "DemoDataManager.h"
16 |
17 | @implementation JiugonggeViewController
18 | - (void)viewDidLoad{
19 | [super viewDidLoad];
20 | self.title = @"九宫格TableView";
21 | self.view.backgroundColor = [UIColor whiteColor];
22 | self.automaticallyAdjustsScrollViewInsets = NO;
23 | // [self initWidthJiugonggeList];
24 |
25 | //自定义间距
26 | [self initWidthJiugonggeListTwo];
27 | }
28 |
29 | #pragma mark - 初始化默认间距为5的九宫格
30 | - (void)initWidthJiugonggeList{
31 | CGRect tbvFrame = CGRectMake(0, 60, self.view.frame.size.width, self.view.frame.size.height);
32 | //获取自定义view的className
33 | NSString *rowViewClass = NSStringFromClass([JiugonggeView class]);
34 | //1.初始化tableView columnNumber指定九宫格列数
35 | SYTableView *rowTbv = [[SYTableView alloc]initWithFrame:tbvFrame customerViewName:rowViewClass columnNumber:3 target:self action:@selector(jiugonggeSetupData:)];
36 |
37 | //初始方式也可以使用block,如下
38 | // SYTableView *rowTbv = [[SYTableView alloc]initWithFrame:tbvFrame customerViewName:rowViewClass columnNumber:3 setupData:^(SYTableViewEntity *ent) {
39 | //
40 | // }];
41 |
42 | //指定数据
43 | rowTbv.arrayDatas = [NSMutableArray arrayWithArray:[DemoDataManager getJiugonggeData]];
44 | //行高设置
45 | rowTbv.rowHeight = 100;
46 | [self.view addSubview:rowTbv];
47 | }
48 |
49 | #pragma mark 可以自定义间距
50 | - (void)initWidthJiugonggeListTwo{
51 | CGRect tbvFrame = CGRectMake(0, 60, self.view.frame.size.width, self.view.frame.size.height);
52 | //获取自定义view的className
53 | NSString *rowViewClass = NSStringFromClass([JiugonggeView class]);
54 | //1.初始化tableView columnNumber指定九宫格列数
55 | SYTableView *rowTbv = [[SYTableView alloc]initWithFrame:tbvFrame customerViewName:rowViewClass columnNumber:3 leftMargin:5 apartMargin:5 target:self action:@selector(jiugonggeSetupData:)];
56 |
57 | //初始方式也可以使用block
58 |
59 | //指定数据
60 | rowTbv.arrayDatas = [NSMutableArray arrayWithArray:[DemoDataManager getJiugonggeData]];
61 | //行高设置
62 | rowTbv.rowHeight = 100;
63 | [self.view addSubview:rowTbv];
64 | }
65 |
66 | - (void)jiugonggeSetupData:(SYTableViewEntity *)ent{
67 | JiugonggeView *rowView = (JiugonggeView *)ent.customView;//取出自定义view
68 | JiugonggeModel *model = ent.entity;//取出数据中的实体
69 | //赋值
70 | [rowView.btn_avatar setImage:[UIImage imageNamed:model.icon] forState:UIControlStateNormal];
71 | rowView.lbl_title.text = model.title;
72 | }
73 | @end
74 |
--------------------------------------------------------------------------------
/syTableView/UI/Demo/ViewController/RowViewController.h:
--------------------------------------------------------------------------------
1 | //
2 | // RowViewController.h
3 | // SYTableView
4 | //
5 | // Created by 世缘 on 15/9/3.
6 | // Copyright (c) 2015年 shiyuan. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @interface RowViewController : UIViewController
12 |
13 | @end
14 |
--------------------------------------------------------------------------------
/syTableView/UI/Demo/ViewController/RowViewController.m:
--------------------------------------------------------------------------------
1 | //
2 | // RowViewController.m
3 | // SYTableView
4 | //
5 | // Created by 世缘 on 15/9/3.
6 | // Copyright (c) 2015年 shiyuan. All rights reserved.
7 | //
8 |
9 | #import "RowViewController.h"
10 | //引入
11 | #import "SYTableViewHeader.h"
12 |
13 | #import "RowView.h"
14 | #import "RowViewModel.h"
15 | #import "DemoDataManager.h"
16 | @implementation RowViewController
17 | - (void)viewDidLoad{
18 | [super viewDidLoad];
19 | self.automaticallyAdjustsScrollViewInsets = NO;
20 | self.view.backgroundColor = [UIColor whiteColor];
21 | self.title = @"普通tableView";
22 | //普通单行tabelview使用方式
23 |
24 | //初始方式一
25 | [self initRowListView];
26 |
27 | //初始方式二block
28 | // [self initRowListViewWithBlock];
29 | }
30 |
31 | - (void)initRowListView{
32 | CGRect tbvFrame = CGRectMake(0, 60, self.view.frame.size.width, self.view.frame.size.height);
33 | //获取自定义view的className
34 | NSString *rowViewClass = NSStringFromClass([RowView class]);
35 | //1.初始化tableView
36 | SYTableView *rowTbv = [[SYTableView alloc]initWithFrame:tbvFrame customerViewName:rowViewClass target:self action:@selector(rowListDataSetup:)];
37 | //指定数据
38 | rowTbv.arrayDatas = [NSMutableArray arrayWithArray:[DemoDataManager getRowViewData]];
39 | rowTbv.rowHeight = 45;//指定行高
40 | [self.view addSubview:rowTbv];
41 | }
42 |
43 | //3.为tableView设置数据
44 | - (void)rowListDataSetup:(SYTableViewEntity *)ent{
45 | RowView *rowView = (RowView *)ent.customView;//取出自定义view
46 | RowViewModel *model = ent.entity;//取出数据中的实体
47 | //赋值
48 | [rowView.btn_avatar setImage:[UIImage imageNamed:model.string_icon] forState:UIControlStateNormal];
49 | rowView.lbl_title.text = model.string_title;
50 | }
51 |
52 |
53 | - (void)initRowListViewWithBlock{
54 | CGRect tbvFrame = CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height);
55 | //获取自定义view的className
56 | NSString *rowViewClass = NSStringFromClass([RowView class]);
57 | //1.初始化tableView
58 | SYTableView *rowTbv = [[SYTableView alloc]initWithFrame:tbvFrame customerViewName:rowViewClass setupData:^(SYTableViewEntity *ent) {
59 | //设置tableView数据
60 | RowView *rowView = (RowView *)ent.customView;//取出自定义view
61 | RowViewModel *model = ent.entity;//取出数据中的实体
62 | //赋值
63 | [rowView.btn_avatar setImage:[UIImage imageNamed:model.string_icon] forState:UIControlStateNormal];
64 | rowView.lbl_title.text = model.string_title;
65 | }];
66 | //指定数据
67 | rowTbv.arrayDatas = [NSMutableArray arrayWithArray:[DemoDataManager getRowViewData]];
68 | [self.view addSubview:rowTbv];
69 | }
70 | @end
71 |
--------------------------------------------------------------------------------
/syTableView/UI/Demo/ViewController/SectionViewController.h:
--------------------------------------------------------------------------------
1 | //
2 | // SectionViewController.h
3 | // SYTableView
4 | //
5 | // Created by 世缘 on 15/9/3.
6 | // Copyright (c) 2015年 shiyuan. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @interface SectionViewController : UIViewController
12 |
13 | @end
14 |
--------------------------------------------------------------------------------
/syTableView/UI/Demo/ViewController/SectionViewController.m:
--------------------------------------------------------------------------------
1 | //
2 | // SectionViewController.m
3 | // SYTableView
4 | //
5 | // Created by 世缘 on 15/9/3.
6 | // Copyright (c) 2015年 shiyuan. All rights reserved.
7 | //
8 |
9 | #import "SectionViewController.h"
10 | //引入
11 | #import "SYTableViewHeader.h"
12 | #import "TestView.h"
13 | @implementation SectionViewController
14 | - (void)viewDidLoad{
15 | [super viewDidLoad];
16 | self.automaticallyAdjustsScrollViewInsets = NO;
17 | self.view.backgroundColor = [UIColor whiteColor];
18 | self.title = @"section设置";
19 |
20 | CGRect tbvFrame = CGRectMake(0, 60, self.view.frame.size.width, self.view.frame.size.height);
21 | NSString *viewName = NSStringFromClass([TestView class]);
22 |
23 | //初始化数据
24 | NSMutableArray *array = [[NSMutableArray alloc]init];
25 | for (int i=0; i<10; i++) {
26 | //SYSectionEntity 为载体 obj为sectionHeader的对应数据
27 | //rowArray为section下面的行数据
28 | SYSectionEntity *ent = [[SYSectionEntity alloc]init];
29 | ent.obj = nil;
30 | for (int j=0; j<3; j++) {
31 | [ent.rowArray addObject:@""];
32 | }
33 | [array addObject:ent];
34 | }
35 |
36 | SYTableView *tbv = [[SYTableView alloc]initWithFrame:tbvFrame customerViewName:viewName setupData:^(SYTableViewEntity *entity) {
37 | }];
38 | tbv.isSectionStickyHeader = NO;//section头部是否冻结
39 | tbv.rowHeight = 50;
40 | tbv.sectionHeaderHeight = 10;
41 | tbv.arrayDatas = [NSMutableArray arrayWithArray:array];
42 | [self.view addSubview:tbv];
43 | }
44 |
45 |
46 | @end
47 |
--------------------------------------------------------------------------------
/syTableView/main.m:
--------------------------------------------------------------------------------
1 | //
2 | // main.m
3 | // SYTableView
4 | //
5 | // Created by 世缘 on 15/9/3.
6 | // Copyright (c) 2015年 shiyuan. 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 |
--------------------------------------------------------------------------------
/tableview.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shiyuan17/syTableView/43fc9911f13537d3f570d144d3aca9dbd22e7c1a/tableview.jpeg
--------------------------------------------------------------------------------
|