├── tableview.jpeg
├── syTableView
├── Images.xcassets
│ ├── JggIcon
│ │ ├── 1.imageset
│ │ │ ├── 1.jpg
│ │ │ └── Contents.json
│ │ ├── 2.imageset
│ │ │ ├── 2.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
│ │ ├── 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
│ │ ├── 20.imageset
│ │ │ ├── 20.jpg
│ │ │ └── Contents.json
│ │ └── 21.imageset
│ │ │ ├── 21.jpg
│ │ │ └── Contents.json
│ ├── listIcon
│ │ ├── wallet_trade.imageset
│ │ │ ├── wallet_trade@2x.png
│ │ │ ├── wallet_trade@3x.png
│ │ │ └── Contents.json
│ │ ├── my_laapp_icon.imageset
│ │ │ ├── my_laapp_icon@2x.png
│ │ │ ├── my_laapp_icon@3x.png
│ │ │ └── Contents.json
│ │ ├── my_wallet_icon.imageset
│ │ │ ├── my_wallet_icon@2x.png
│ │ │ ├── my_wallet_icon@3x.png
│ │ │ └── Contents.json
│ │ ├── my_setting_icon.imageset
│ │ │ ├── my_setting_icon@2x.png
│ │ │ ├── my_setting_icon@3x.png
│ │ │ └── Contents.json
│ │ ├── my_bookmark_icon.imageset
│ │ │ ├── my_bookmark_icon@2x.png
│ │ │ ├── my_bookmark_icon@3x.png
│ │ │ └── Contents.json
│ │ ├── my_download_icon.imageset
│ │ │ ├── my_download_icon@2x.png
│ │ │ ├── my_download_icon@3x.png
│ │ │ └── Contents.json
│ │ ├── my_privilege_icon.imageset
│ │ │ ├── my_privilege_icon@2x.png
│ │ │ ├── my_privilege_icon@3x.png
│ │ │ └── Contents.json
│ │ ├── my_photo_logged_in.imageset
│ │ │ ├── my_photo_logged_in@2x.png
│ │ │ ├── my_photo_logged_in@3x.png
│ │ │ └── Contents.json
│ │ ├── wallet_paysecurity.imageset
│ │ │ ├── wallet_paysecurity@2x.png
│ │ │ ├── wallet_paysecurity@3x.png
│ │ │ └── Contents.json
│ │ ├── my_notification_icon.imageset
│ │ │ ├── my_notification_icon@2x.png
│ │ │ ├── my_notification_icon@3x.png
│ │ │ └── Contents.json
│ │ ├── toolbar_goforward_normal.imageset
│ │ │ ├── toolbar_goforward_normal@2x.png
│ │ │ ├── toolbar_goforward_normal@3x.png
│ │ │ └── Contents.json
│ │ ├── pixel_search_share_friends.imageset
│ │ │ ├── pixel_search_share_friends@2x.png
│ │ │ └── Contents.json
│ │ ├── toolbar_goforward_highlighted.imageset
│ │ │ ├── toolbar_goforward_highlighted@2x.png
│ │ │ ├── toolbar_goforward_highlighted@3x.png
│ │ │ └── Contents.json
│ │ └── personalcenter_tab_icon_selected.imageset
│ │ │ ├── personalcenter_tab_icon_selected@2x.png
│ │ │ ├── personalcenter_tab_icon_selected@3x.png
│ │ │ └── Contents.json
│ └── AppIcon.appiconset
│ │ └── Contents.json
├── UI
│ └── Demo
│ │ ├── Model
│ │ ├── RowViewModel.m
│ │ ├── JiugonggeModel.m
│ │ ├── JiugonggeModel.h
│ │ └── RowViewModel.h
│ │ ├── View
│ │ ├── TestView.h
│ │ ├── JiugonggeView.h
│ │ ├── RowView.h
│ │ ├── TestView.m
│ │ ├── JiugonggeView.m
│ │ └── RowView.m
│ │ ├── ViewController
│ │ ├── RowViewController.h
│ │ ├── DemoViewController.h
│ │ ├── DynamicViewController.h
│ │ ├── SectionViewController.h
│ │ ├── JiugonggeViewController.h
│ │ ├── DynamicViewController.m
│ │ ├── SectionViewController.m
│ │ ├── DemoViewController.m
│ │ ├── RowViewController.m
│ │ └── JiugonggeViewController.m
│ │ └── DataManager
│ │ ├── DemoDataManager.h
│ │ └── DemoDataManager.m
├── SYTableView
│ ├── SYTableViewEntity.m
│ ├── SYSectionEntity.h
│ ├── SYSectionEntity.m
│ ├── SYTableViewHeader.h
│ ├── SYTableViewEntity.h
│ ├── SYTableViewCell.h
│ ├── SYTableView.h
│ ├── SYTableViewCell.m
│ └── SYTableView.m
├── AppDelegate
│ ├── AppDelegate.h
│ └── AppDelegate.m
├── main.m
├── Info.plist
└── Base.lproj
│ ├── Main.storyboard
│ └── LaunchScreen.xib
├── syTableView.xcodeproj
├── project.xcworkspace
│ ├── contents.xcworkspacedata
│ ├── xcuserdata
│ │ └── shiyuan.xcuserdatad
│ │ │ └── UserInterfaceState.xcuserstate
│ └── xcshareddata
│ │ └── SYTableView.xccheckout
├── xcuserdata
│ └── shiyuan.xcuserdatad
│ │ ├── xcschemes
│ │ ├── xcschememanagement.plist
│ │ └── syTableView.xcscheme
│ │ └── xcdebugger
│ │ └── Breakpoints_v2.xcbkptlist
└── project.pbxproj
├── SYTableViewTests
├── Info.plist
└── SYTableViewTests.m
├── syTableView.podspec
└── README.md
/tableview.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shiyuan17/syTableView/HEAD/tableview.jpeg
--------------------------------------------------------------------------------
/syTableView/Images.xcassets/JggIcon/1.imageset/1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shiyuan17/syTableView/HEAD/syTableView/Images.xcassets/JggIcon/1.imageset/1.jpg
--------------------------------------------------------------------------------
/syTableView/Images.xcassets/JggIcon/2.imageset/2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shiyuan17/syTableView/HEAD/syTableView/Images.xcassets/JggIcon/2.imageset/2.jpg
--------------------------------------------------------------------------------
/syTableView/Images.xcassets/JggIcon/3.imageset/3.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shiyuan17/syTableView/HEAD/syTableView/Images.xcassets/JggIcon/3.imageset/3.jpg
--------------------------------------------------------------------------------
/syTableView/Images.xcassets/JggIcon/4.imageset/4.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shiyuan17/syTableView/HEAD/syTableView/Images.xcassets/JggIcon/4.imageset/4.jpg
--------------------------------------------------------------------------------
/syTableView/Images.xcassets/JggIcon/5.imageset/5.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shiyuan17/syTableView/HEAD/syTableView/Images.xcassets/JggIcon/5.imageset/5.jpg
--------------------------------------------------------------------------------
/syTableView/Images.xcassets/JggIcon/6.imageset/6.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shiyuan17/syTableView/HEAD/syTableView/Images.xcassets/JggIcon/6.imageset/6.jpg
--------------------------------------------------------------------------------
/syTableView/Images.xcassets/JggIcon/7.imageset/7.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shiyuan17/syTableView/HEAD/syTableView/Images.xcassets/JggIcon/7.imageset/7.jpg
--------------------------------------------------------------------------------
/syTableView/Images.xcassets/JggIcon/8.imageset/8.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shiyuan17/syTableView/HEAD/syTableView/Images.xcassets/JggIcon/8.imageset/8.jpg
--------------------------------------------------------------------------------
/syTableView/Images.xcassets/JggIcon/9.imageset/9.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shiyuan17/syTableView/HEAD/syTableView/Images.xcassets/JggIcon/9.imageset/9.jpg
--------------------------------------------------------------------------------
/syTableView/Images.xcassets/JggIcon/10.imageset/10.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shiyuan17/syTableView/HEAD/syTableView/Images.xcassets/JggIcon/10.imageset/10.jpg
--------------------------------------------------------------------------------
/syTableView/Images.xcassets/JggIcon/11.imageset/11.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shiyuan17/syTableView/HEAD/syTableView/Images.xcassets/JggIcon/11.imageset/11.jpg
--------------------------------------------------------------------------------
/syTableView/Images.xcassets/JggIcon/12.imageset/12.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shiyuan17/syTableView/HEAD/syTableView/Images.xcassets/JggIcon/12.imageset/12.jpg
--------------------------------------------------------------------------------
/syTableView/Images.xcassets/JggIcon/13.imageset/13.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shiyuan17/syTableView/HEAD/syTableView/Images.xcassets/JggIcon/13.imageset/13.jpg
--------------------------------------------------------------------------------
/syTableView/Images.xcassets/JggIcon/14.imageset/14.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shiyuan17/syTableView/HEAD/syTableView/Images.xcassets/JggIcon/14.imageset/14.jpg
--------------------------------------------------------------------------------
/syTableView/Images.xcassets/JggIcon/15.imageset/15.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shiyuan17/syTableView/HEAD/syTableView/Images.xcassets/JggIcon/15.imageset/15.jpg
--------------------------------------------------------------------------------
/syTableView/Images.xcassets/JggIcon/16.imageset/16.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shiyuan17/syTableView/HEAD/syTableView/Images.xcassets/JggIcon/16.imageset/16.jpg
--------------------------------------------------------------------------------
/syTableView/Images.xcassets/JggIcon/17.imageset/17.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shiyuan17/syTableView/HEAD/syTableView/Images.xcassets/JggIcon/17.imageset/17.jpg
--------------------------------------------------------------------------------
/syTableView/Images.xcassets/JggIcon/18.imageset/18.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shiyuan17/syTableView/HEAD/syTableView/Images.xcassets/JggIcon/18.imageset/18.jpg
--------------------------------------------------------------------------------
/syTableView/Images.xcassets/JggIcon/19.imageset/19.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shiyuan17/syTableView/HEAD/syTableView/Images.xcassets/JggIcon/19.imageset/19.jpg
--------------------------------------------------------------------------------
/syTableView/Images.xcassets/JggIcon/20.imageset/20.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shiyuan17/syTableView/HEAD/syTableView/Images.xcassets/JggIcon/20.imageset/20.jpg
--------------------------------------------------------------------------------
/syTableView/Images.xcassets/JggIcon/21.imageset/21.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shiyuan17/syTableView/HEAD/syTableView/Images.xcassets/JggIcon/21.imageset/21.jpg
--------------------------------------------------------------------------------
/syTableView/Images.xcassets/listIcon/wallet_trade.imageset/wallet_trade@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shiyuan17/syTableView/HEAD/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/HEAD/syTableView/Images.xcassets/listIcon/wallet_trade.imageset/wallet_trade@3x.png
--------------------------------------------------------------------------------
/syTableView/Images.xcassets/listIcon/my_laapp_icon.imageset/my_laapp_icon@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shiyuan17/syTableView/HEAD/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/HEAD/syTableView/Images.xcassets/listIcon/my_laapp_icon.imageset/my_laapp_icon@3x.png
--------------------------------------------------------------------------------
/syTableView/Images.xcassets/listIcon/my_wallet_icon.imageset/my_wallet_icon@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shiyuan17/syTableView/HEAD/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/HEAD/syTableView/Images.xcassets/listIcon/my_wallet_icon.imageset/my_wallet_icon@3x.png
--------------------------------------------------------------------------------
/syTableView/Images.xcassets/listIcon/my_setting_icon.imageset/my_setting_icon@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shiyuan17/syTableView/HEAD/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/HEAD/syTableView/Images.xcassets/listIcon/my_setting_icon.imageset/my_setting_icon@3x.png
--------------------------------------------------------------------------------
/syTableView/Images.xcassets/listIcon/my_bookmark_icon.imageset/my_bookmark_icon@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shiyuan17/syTableView/HEAD/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/HEAD/syTableView/Images.xcassets/listIcon/my_bookmark_icon.imageset/my_bookmark_icon@3x.png
--------------------------------------------------------------------------------
/syTableView/Images.xcassets/listIcon/my_download_icon.imageset/my_download_icon@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shiyuan17/syTableView/HEAD/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/HEAD/syTableView/Images.xcassets/listIcon/my_download_icon.imageset/my_download_icon@3x.png
--------------------------------------------------------------------------------
/syTableView/Images.xcassets/listIcon/my_privilege_icon.imageset/my_privilege_icon@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shiyuan17/syTableView/HEAD/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/HEAD/syTableView/Images.xcassets/listIcon/my_privilege_icon.imageset/my_privilege_icon@3x.png
--------------------------------------------------------------------------------
/syTableView/Images.xcassets/listIcon/my_photo_logged_in.imageset/my_photo_logged_in@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shiyuan17/syTableView/HEAD/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/HEAD/syTableView/Images.xcassets/listIcon/my_photo_logged_in.imageset/my_photo_logged_in@3x.png
--------------------------------------------------------------------------------
/syTableView/Images.xcassets/listIcon/wallet_paysecurity.imageset/wallet_paysecurity@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shiyuan17/syTableView/HEAD/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/HEAD/syTableView/Images.xcassets/listIcon/wallet_paysecurity.imageset/wallet_paysecurity@3x.png
--------------------------------------------------------------------------------
/syTableView/Images.xcassets/listIcon/my_notification_icon.imageset/my_notification_icon@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shiyuan17/syTableView/HEAD/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/HEAD/syTableView/Images.xcassets/listIcon/my_notification_icon.imageset/my_notification_icon@3x.png
--------------------------------------------------------------------------------
/syTableView.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/syTableView.xcodeproj/project.xcworkspace/xcuserdata/shiyuan.xcuserdatad/UserInterfaceState.xcuserstate:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shiyuan17/syTableView/HEAD/syTableView.xcodeproj/project.xcworkspace/xcuserdata/shiyuan.xcuserdatad/UserInterfaceState.xcuserstate
--------------------------------------------------------------------------------
/syTableView/Images.xcassets/listIcon/toolbar_goforward_normal.imageset/toolbar_goforward_normal@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shiyuan17/syTableView/HEAD/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/HEAD/syTableView/Images.xcassets/listIcon/toolbar_goforward_normal.imageset/toolbar_goforward_normal@3x.png
--------------------------------------------------------------------------------
/syTableView/Images.xcassets/listIcon/pixel_search_share_friends.imageset/pixel_search_share_friends@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shiyuan17/syTableView/HEAD/syTableView/Images.xcassets/listIcon/pixel_search_share_friends.imageset/pixel_search_share_friends@2x.png
--------------------------------------------------------------------------------
/syTableView/Images.xcassets/listIcon/toolbar_goforward_highlighted.imageset/toolbar_goforward_highlighted@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shiyuan17/syTableView/HEAD/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/HEAD/syTableView/Images.xcassets/listIcon/toolbar_goforward_highlighted.imageset/toolbar_goforward_highlighted@3x.png
--------------------------------------------------------------------------------
/syTableView/Images.xcassets/listIcon/personalcenter_tab_icon_selected.imageset/personalcenter_tab_icon_selected@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shiyuan17/syTableView/HEAD/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/HEAD/syTableView/Images.xcassets/listIcon/personalcenter_tab_icon_selected.imageset/personalcenter_tab_icon_selected@3x.png
--------------------------------------------------------------------------------
/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/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/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/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/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/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/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/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/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/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/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/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/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/UI/Demo/Model/JiugonggeModel.h:
--------------------------------------------------------------------------------
1 | //
2 | // JiugonggeModel.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 JiugonggeModel : NSObject
12 | @property (nonatomic,strong) NSString *title;
13 | @property (nonatomic,strong) NSString *icon;
14 | @end
15 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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_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_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_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_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_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_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/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/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/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_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/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.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/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/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 | }
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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/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/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.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/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/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/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/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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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/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
2 |
5 |
6 |
8 |
20 |
21 |
22 |
24 |
36 |
37 |
38 |
40 |
52 |
53 |
54 |
56 |
68 |
69 |
70 |
71 |
72 |
--------------------------------------------------------------------------------
/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;//**|
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/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.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/SYTableView/SYTableView.m:
--------------------------------------------------------------------------------
1 | //
2 | // SYTableView.m
3 | // SyUtils
4 | //
5 | // Created by 世缘 on 15/8/17.
6 | // Copyright (c) 2015年 shiyuan. All rights reserved.
7 | //
8 |
9 | #import "SYTableView.h"
10 | #import "SYTableViewCell.h"
11 | #import "SYSectionEntity.h"
12 | #import
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.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 |
--------------------------------------------------------------------------------
|