├── wangyiNews ├── 方正隶书繁体.ttf ├── 隶书_GBK.TTF ├── Assets.xcassets │ ├── Contents.json │ ├── NaviImage │ │ ├── Contents.json │ │ ├── search_icon_highlighted.imageset │ │ │ ├── search_icon_highlighted@2x.png │ │ │ └── Contents.json │ │ ├── contentview_imagebg_logo.imageset │ │ │ ├── contentview_imagebg_logo@2x.png │ │ │ └── Contents.json │ │ ├── top_navigation_background.imageset │ │ │ ├── top_navigation_background@2x.png │ │ │ └── Contents.json │ │ ├── contentview_hd_loading_logo.imageset │ │ │ ├── contentview_hd_loading_logo@2x.png │ │ │ └── Contents.json │ │ └── top_navigation_background_88.imageset │ │ │ ├── top_navigation_background_88@2x.png │ │ │ └── Contents.json │ ├── LaunchImage │ │ ├── Contents.json │ │ └── about_hd.imageset │ │ │ ├── about_hd@2x.png │ │ │ └── Contents.json │ ├── segmentImage │ │ ├── Contents.json │ │ ├── channel_nav_plus.imageset │ │ │ ├── channel_nav_plus@2x.png │ │ │ └── Contents.json │ │ ├── channel_edit_delete.imageset │ │ │ ├── channel_edit_delete@2x.png │ │ │ └── Contents.json │ │ ├── channel_grid_circle.imageset │ │ │ ├── channel_grid_circle@2x.png │ │ │ └── Contents.json │ │ ├── specialcell_nav_btn.imageset │ │ │ ├── specialcell_nav_btn@2x.png │ │ │ └── Contents.json │ │ ├── channel_edit_button_bg.imageset │ │ │ ├── channel_edit_button_bg@2x.png │ │ │ └── Contents.json │ │ ├── contenttoolbar_hd_close.imageset │ │ │ ├── contenttoolbar_hd_close.png │ │ │ └── Contents.json │ │ ├── channel_edit_button_selected_bg.imageset │ │ │ ├── channel_edit_button_selected_bg@2x.png │ │ │ └── Contents.json │ │ └── channel_compact_placeholder_inactive.imageset │ │ │ ├── channel_compact_placeholder_inactive@2x.png │ │ │ └── Contents.json │ ├── tabbarImage │ │ ├── Contents.json │ │ ├── tabbar_icon_me_normal.imageset │ │ │ ├── tabbar_icon_me_normal@2x.png │ │ │ └── Contents.json │ │ ├── tabbar_icon_bar_normal.imageset │ │ │ ├── tabbar_icon_bar_normal@2x.png │ │ │ └── Contents.json │ │ ├── tabbar_icon_me_highlight.imageset │ │ │ ├── tabbar_icon_me_highlight@2x.png │ │ │ └── Contents.json │ │ ├── tabbar_icon_media_normal.imageset │ │ │ ├── tabbar_icon_media_normal@2x.png │ │ │ └── Contents.json │ │ ├── tabbar_icon_news_normal.imageset │ │ │ ├── tabbar_icon_news_normal@2x.png │ │ │ └── Contents.json │ │ ├── tabbar_icon_bar_highlight.imageset │ │ │ ├── tabbar_icon_bar_highlight@2x.png │ │ │ └── Contents.json │ │ ├── tabbar_icon_reader_normal.imageset │ │ │ ├── tabbar_icon_reader_normal@2x.png │ │ │ └── Contents.json │ │ ├── tabbar_icon_news_highlight.imageset │ │ │ ├── tabbar_icon_news_highlight@2x.png │ │ │ └── Contents.json │ │ ├── tabbar_icon_media_highlight.imageset │ │ │ ├── tabbar_icon_media_highlight@2x.png │ │ │ └── Contents.json │ │ └── tabbar_icon_reader_highlight.imageset │ │ │ ├── tabbar_icon_reader_highlight@2x.png │ │ │ └── Contents.json │ └── AppIcon.appiconset │ │ ├── AppIcon29x29@2x.png │ │ ├── AppIcon29x29@3x.png │ │ ├── AppIcon40x40@2x.png │ │ ├── AppIcon40x40@3x.png │ │ ├── AppIcon60x60@2x.png │ │ ├── AppIcon60x60@3x.png │ │ ├── AppIcon29x29~ipad.png │ │ ├── AppIcon40x40~ipad.png │ │ ├── AppIcon76x76~ipad.png │ │ ├── AppIcon29x29@2x~ipad.png │ │ ├── AppIcon40x40@2x~ipad.png │ │ ├── AppIcon76x76@2x~ipad.png │ │ ├── AppIcon83.5x83.5@2x~ipad.png │ │ └── Contents.json ├── BaseTabbarController.h ├── BaseNavigationController.h ├── HomeViewController.h ├── News │ └── Controller │ │ ├── NewsControllerTableViewController.h │ │ └── NewsControllerTableViewController.m ├── AppDelegate.h ├── Common.pch ├── main.m ├── segmentView │ ├── ScrollviewHeaderView.h │ ├── FileSave.h │ ├── SegmentView.h │ ├── BtnCell.h │ ├── CoBtnCell.h │ ├── BtnCollectionView.h │ ├── CoBtnCell.m │ ├── FileSave.m │ ├── BtnCell.m │ ├── ScrollviewHeaderView.m │ ├── CoBtnCell.xib │ ├── SegmentView.m │ └── BtnCollectionView.m ├── HomeViewController.m ├── BaseNavigationController.m ├── Info.plist ├── BaseTabbarController.m ├── Base.lproj │ ├── LaunchScreen.storyboard │ └── Main.storyboard └── AppDelegate.m ├── wangyiNews.xcodeproj ├── project.xcworkspace │ └── contents.xcworkspacedata ├── xcuserdata │ └── caixiaofan.xcuserdatad │ │ ├── xcdebugger │ │ └── Breakpoints_v2.xcbkptlist │ │ └── xcschemes │ │ ├── xcschememanagement.plist │ │ └── wangyiNews.xcscheme └── project.pbxproj ├── wangyiNewsTests ├── Info.plist └── wangyiNewsTests.m └── wangyiNewsUITests ├── Info.plist └── wangyiNewsUITests.m /wangyiNews/方正隶书繁体.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caixiaofan1/WangYiNewsSegment/HEAD/wangyiNews/方正隶书繁体.ttf -------------------------------------------------------------------------------- /wangyiNews/隶书_GBK.TTF: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caixiaofan1/WangYiNewsSegment/HEAD/wangyiNews/隶书_GBK.TTF -------------------------------------------------------------------------------- /wangyiNews/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } -------------------------------------------------------------------------------- /wangyiNews/Assets.xcassets/NaviImage/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } -------------------------------------------------------------------------------- /wangyiNews/Assets.xcassets/LaunchImage/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } -------------------------------------------------------------------------------- /wangyiNews/Assets.xcassets/segmentImage/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } -------------------------------------------------------------------------------- /wangyiNews/Assets.xcassets/tabbarImage/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } -------------------------------------------------------------------------------- /wangyiNews/Assets.xcassets/AppIcon.appiconset/AppIcon29x29@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caixiaofan1/WangYiNewsSegment/HEAD/wangyiNews/Assets.xcassets/AppIcon.appiconset/AppIcon29x29@2x.png -------------------------------------------------------------------------------- /wangyiNews/Assets.xcassets/AppIcon.appiconset/AppIcon29x29@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caixiaofan1/WangYiNewsSegment/HEAD/wangyiNews/Assets.xcassets/AppIcon.appiconset/AppIcon29x29@3x.png -------------------------------------------------------------------------------- /wangyiNews/Assets.xcassets/AppIcon.appiconset/AppIcon40x40@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caixiaofan1/WangYiNewsSegment/HEAD/wangyiNews/Assets.xcassets/AppIcon.appiconset/AppIcon40x40@2x.png -------------------------------------------------------------------------------- /wangyiNews/Assets.xcassets/AppIcon.appiconset/AppIcon40x40@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caixiaofan1/WangYiNewsSegment/HEAD/wangyiNews/Assets.xcassets/AppIcon.appiconset/AppIcon40x40@3x.png -------------------------------------------------------------------------------- /wangyiNews/Assets.xcassets/AppIcon.appiconset/AppIcon60x60@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caixiaofan1/WangYiNewsSegment/HEAD/wangyiNews/Assets.xcassets/AppIcon.appiconset/AppIcon60x60@2x.png -------------------------------------------------------------------------------- /wangyiNews/Assets.xcassets/AppIcon.appiconset/AppIcon60x60@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caixiaofan1/WangYiNewsSegment/HEAD/wangyiNews/Assets.xcassets/AppIcon.appiconset/AppIcon60x60@3x.png -------------------------------------------------------------------------------- /wangyiNews/Assets.xcassets/AppIcon.appiconset/AppIcon29x29~ipad.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caixiaofan1/WangYiNewsSegment/HEAD/wangyiNews/Assets.xcassets/AppIcon.appiconset/AppIcon29x29~ipad.png -------------------------------------------------------------------------------- /wangyiNews/Assets.xcassets/AppIcon.appiconset/AppIcon40x40~ipad.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caixiaofan1/WangYiNewsSegment/HEAD/wangyiNews/Assets.xcassets/AppIcon.appiconset/AppIcon40x40~ipad.png -------------------------------------------------------------------------------- /wangyiNews/Assets.xcassets/AppIcon.appiconset/AppIcon76x76~ipad.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caixiaofan1/WangYiNewsSegment/HEAD/wangyiNews/Assets.xcassets/AppIcon.appiconset/AppIcon76x76~ipad.png -------------------------------------------------------------------------------- /wangyiNews/Assets.xcassets/AppIcon.appiconset/AppIcon29x29@2x~ipad.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caixiaofan1/WangYiNewsSegment/HEAD/wangyiNews/Assets.xcassets/AppIcon.appiconset/AppIcon29x29@2x~ipad.png -------------------------------------------------------------------------------- /wangyiNews/Assets.xcassets/AppIcon.appiconset/AppIcon40x40@2x~ipad.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caixiaofan1/WangYiNewsSegment/HEAD/wangyiNews/Assets.xcassets/AppIcon.appiconset/AppIcon40x40@2x~ipad.png -------------------------------------------------------------------------------- /wangyiNews/Assets.xcassets/AppIcon.appiconset/AppIcon76x76@2x~ipad.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caixiaofan1/WangYiNewsSegment/HEAD/wangyiNews/Assets.xcassets/AppIcon.appiconset/AppIcon76x76@2x~ipad.png -------------------------------------------------------------------------------- /wangyiNews/Assets.xcassets/AppIcon.appiconset/AppIcon83.5x83.5@2x~ipad.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caixiaofan1/WangYiNewsSegment/HEAD/wangyiNews/Assets.xcassets/AppIcon.appiconset/AppIcon83.5x83.5@2x~ipad.png -------------------------------------------------------------------------------- /wangyiNews/Assets.xcassets/LaunchImage/about_hd.imageset/about_hd@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caixiaofan1/WangYiNewsSegment/HEAD/wangyiNews/Assets.xcassets/LaunchImage/about_hd.imageset/about_hd@2x.png -------------------------------------------------------------------------------- /wangyiNews/Assets.xcassets/segmentImage/channel_nav_plus.imageset/channel_nav_plus@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caixiaofan1/WangYiNewsSegment/HEAD/wangyiNews/Assets.xcassets/segmentImage/channel_nav_plus.imageset/channel_nav_plus@2x.png -------------------------------------------------------------------------------- /wangyiNews.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /wangyiNews/Assets.xcassets/segmentImage/channel_edit_delete.imageset/channel_edit_delete@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caixiaofan1/WangYiNewsSegment/HEAD/wangyiNews/Assets.xcassets/segmentImage/channel_edit_delete.imageset/channel_edit_delete@2x.png -------------------------------------------------------------------------------- /wangyiNews/Assets.xcassets/segmentImage/channel_grid_circle.imageset/channel_grid_circle@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caixiaofan1/WangYiNewsSegment/HEAD/wangyiNews/Assets.xcassets/segmentImage/channel_grid_circle.imageset/channel_grid_circle@2x.png -------------------------------------------------------------------------------- /wangyiNews/Assets.xcassets/segmentImage/specialcell_nav_btn.imageset/specialcell_nav_btn@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caixiaofan1/WangYiNewsSegment/HEAD/wangyiNews/Assets.xcassets/segmentImage/specialcell_nav_btn.imageset/specialcell_nav_btn@2x.png -------------------------------------------------------------------------------- /wangyiNews/Assets.xcassets/tabbarImage/tabbar_icon_me_normal.imageset/tabbar_icon_me_normal@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caixiaofan1/WangYiNewsSegment/HEAD/wangyiNews/Assets.xcassets/tabbarImage/tabbar_icon_me_normal.imageset/tabbar_icon_me_normal@2x.png -------------------------------------------------------------------------------- /wangyiNews/Assets.xcassets/NaviImage/search_icon_highlighted.imageset/search_icon_highlighted@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caixiaofan1/WangYiNewsSegment/HEAD/wangyiNews/Assets.xcassets/NaviImage/search_icon_highlighted.imageset/search_icon_highlighted@2x.png -------------------------------------------------------------------------------- /wangyiNews/Assets.xcassets/segmentImage/channel_edit_button_bg.imageset/channel_edit_button_bg@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caixiaofan1/WangYiNewsSegment/HEAD/wangyiNews/Assets.xcassets/segmentImage/channel_edit_button_bg.imageset/channel_edit_button_bg@2x.png -------------------------------------------------------------------------------- /wangyiNews/Assets.xcassets/segmentImage/contenttoolbar_hd_close.imageset/contenttoolbar_hd_close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caixiaofan1/WangYiNewsSegment/HEAD/wangyiNews/Assets.xcassets/segmentImage/contenttoolbar_hd_close.imageset/contenttoolbar_hd_close.png -------------------------------------------------------------------------------- /wangyiNews/Assets.xcassets/tabbarImage/tabbar_icon_bar_normal.imageset/tabbar_icon_bar_normal@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caixiaofan1/WangYiNewsSegment/HEAD/wangyiNews/Assets.xcassets/tabbarImage/tabbar_icon_bar_normal.imageset/tabbar_icon_bar_normal@2x.png -------------------------------------------------------------------------------- /wangyiNews/Assets.xcassets/NaviImage/contentview_imagebg_logo.imageset/contentview_imagebg_logo@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caixiaofan1/WangYiNewsSegment/HEAD/wangyiNews/Assets.xcassets/NaviImage/contentview_imagebg_logo.imageset/contentview_imagebg_logo@2x.png -------------------------------------------------------------------------------- /wangyiNews/Assets.xcassets/NaviImage/top_navigation_background.imageset/top_navigation_background@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caixiaofan1/WangYiNewsSegment/HEAD/wangyiNews/Assets.xcassets/NaviImage/top_navigation_background.imageset/top_navigation_background@2x.png -------------------------------------------------------------------------------- /wangyiNews/Assets.xcassets/tabbarImage/tabbar_icon_me_highlight.imageset/tabbar_icon_me_highlight@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caixiaofan1/WangYiNewsSegment/HEAD/wangyiNews/Assets.xcassets/tabbarImage/tabbar_icon_me_highlight.imageset/tabbar_icon_me_highlight@2x.png -------------------------------------------------------------------------------- /wangyiNews/Assets.xcassets/tabbarImage/tabbar_icon_media_normal.imageset/tabbar_icon_media_normal@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caixiaofan1/WangYiNewsSegment/HEAD/wangyiNews/Assets.xcassets/tabbarImage/tabbar_icon_media_normal.imageset/tabbar_icon_media_normal@2x.png -------------------------------------------------------------------------------- /wangyiNews/Assets.xcassets/tabbarImage/tabbar_icon_news_normal.imageset/tabbar_icon_news_normal@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caixiaofan1/WangYiNewsSegment/HEAD/wangyiNews/Assets.xcassets/tabbarImage/tabbar_icon_news_normal.imageset/tabbar_icon_news_normal@2x.png -------------------------------------------------------------------------------- /wangyiNews/Assets.xcassets/tabbarImage/tabbar_icon_bar_highlight.imageset/tabbar_icon_bar_highlight@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caixiaofan1/WangYiNewsSegment/HEAD/wangyiNews/Assets.xcassets/tabbarImage/tabbar_icon_bar_highlight.imageset/tabbar_icon_bar_highlight@2x.png -------------------------------------------------------------------------------- /wangyiNews/Assets.xcassets/tabbarImage/tabbar_icon_reader_normal.imageset/tabbar_icon_reader_normal@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caixiaofan1/WangYiNewsSegment/HEAD/wangyiNews/Assets.xcassets/tabbarImage/tabbar_icon_reader_normal.imageset/tabbar_icon_reader_normal@2x.png -------------------------------------------------------------------------------- /wangyiNews/Assets.xcassets/NaviImage/contentview_hd_loading_logo.imageset/contentview_hd_loading_logo@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caixiaofan1/WangYiNewsSegment/HEAD/wangyiNews/Assets.xcassets/NaviImage/contentview_hd_loading_logo.imageset/contentview_hd_loading_logo@2x.png -------------------------------------------------------------------------------- /wangyiNews/Assets.xcassets/tabbarImage/tabbar_icon_news_highlight.imageset/tabbar_icon_news_highlight@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caixiaofan1/WangYiNewsSegment/HEAD/wangyiNews/Assets.xcassets/tabbarImage/tabbar_icon_news_highlight.imageset/tabbar_icon_news_highlight@2x.png -------------------------------------------------------------------------------- /wangyiNews/Assets.xcassets/NaviImage/top_navigation_background_88.imageset/top_navigation_background_88@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caixiaofan1/WangYiNewsSegment/HEAD/wangyiNews/Assets.xcassets/NaviImage/top_navigation_background_88.imageset/top_navigation_background_88@2x.png -------------------------------------------------------------------------------- /wangyiNews/Assets.xcassets/tabbarImage/tabbar_icon_media_highlight.imageset/tabbar_icon_media_highlight@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caixiaofan1/WangYiNewsSegment/HEAD/wangyiNews/Assets.xcassets/tabbarImage/tabbar_icon_media_highlight.imageset/tabbar_icon_media_highlight@2x.png -------------------------------------------------------------------------------- /wangyiNews/Assets.xcassets/tabbarImage/tabbar_icon_reader_highlight.imageset/tabbar_icon_reader_highlight@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caixiaofan1/WangYiNewsSegment/HEAD/wangyiNews/Assets.xcassets/tabbarImage/tabbar_icon_reader_highlight.imageset/tabbar_icon_reader_highlight@2x.png -------------------------------------------------------------------------------- /wangyiNews/Assets.xcassets/segmentImage/channel_edit_button_selected_bg.imageset/channel_edit_button_selected_bg@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caixiaofan1/WangYiNewsSegment/HEAD/wangyiNews/Assets.xcassets/segmentImage/channel_edit_button_selected_bg.imageset/channel_edit_button_selected_bg@2x.png -------------------------------------------------------------------------------- /wangyiNews/BaseTabbarController.h: -------------------------------------------------------------------------------- 1 | // 2 | // BaseTabbarController.h 3 | // wangyiNews 4 | // 5 | // Created by 蔡晓凡 on 16/4/23. 6 | // Copyright © 2016年 蔡晓凡. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface BaseTabbarController : UITabBarController 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /wangyiNews/Assets.xcassets/segmentImage/channel_compact_placeholder_inactive.imageset/channel_compact_placeholder_inactive@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caixiaofan1/WangYiNewsSegment/HEAD/wangyiNews/Assets.xcassets/segmentImage/channel_compact_placeholder_inactive.imageset/channel_compact_placeholder_inactive@2x.png -------------------------------------------------------------------------------- /wangyiNews/BaseNavigationController.h: -------------------------------------------------------------------------------- 1 | // 2 | // BaseNavigationController.h 3 | // wangyiNews 4 | // 5 | // Created by 蔡晓凡 on 16/4/23. 6 | // Copyright © 2016年 蔡晓凡. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface BaseNavigationController : UINavigationController 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /wangyiNews/HomeViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // HomeViewController.h 3 | // wangyiNews 4 | // 5 | // Created by 蔡晓凡 on 16/4/23. 6 | // Copyright © 2016年 蔡晓凡. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "BaseTabbarController.h" 11 | @interface HomeViewController :BaseTabbarController 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /wangyiNews/News/Controller/NewsControllerTableViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // NewsControllerTableViewController.h 3 | // wangyiNews 4 | // 5 | // Created by 蔡晓凡 on 16/4/23. 6 | // Copyright © 2016年 蔡晓凡. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface NewsControllerTableViewController : UIViewController 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /wangyiNews/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // wangyiNews 4 | // 5 | // Created by 蔡晓凡 on 16/4/23. 6 | // Copyright © 2016年 蔡晓凡. 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 | -------------------------------------------------------------------------------- /wangyiNews/Common.pch: -------------------------------------------------------------------------------- 1 | // 2 | // Common.pch 3 | // wangyiNews 4 | // 5 | // Created by 蔡晓凡 on 16/4/25. 6 | // Copyright © 2016年 蔡晓凡. All rights reserved. 7 | // 8 | 9 | #define UIColorFromRGB(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] 10 | #import "FileSave.h" -------------------------------------------------------------------------------- /wangyiNews/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // wangyiNews 4 | // 5 | // Created by 蔡晓凡 on 16/4/23. 6 | // Copyright © 2016年 蔡晓凡. 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 | -------------------------------------------------------------------------------- /wangyiNews/segmentView/ScrollviewHeaderView.h: -------------------------------------------------------------------------------- 1 | // 2 | // ScrollviewHeaderView.h 3 | // wangyiNews 4 | // 5 | // Created by 蔡晓凡 on 16/4/24. 6 | // Copyright © 2016年 蔡晓凡. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ScrollviewHeaderView : UIView 12 | 13 | 14 | @property (nonatomic ,strong) UILabel *explainLabel; 15 | @property (nonatomic ,strong) UIButton *selectBtn; 16 | @end 17 | -------------------------------------------------------------------------------- /wangyiNews/segmentView/FileSave.h: -------------------------------------------------------------------------------- 1 | // 2 | // FileSave.h 3 | // wangyiNews 4 | // 5 | // Created by 蔡晓凡 on 16/4/25. 6 | // Copyright © 2016年 蔡晓凡. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface FileSave : NSObject 12 | +(FileSave *)shareFileSave; 13 | -( BOOL )saveGameData:(NSMutableArray *)data saveFileName:(NSString *)fileName; 14 | -(id)loadGameData:(NSString *)fileName; 15 | @end 16 | -------------------------------------------------------------------------------- /wangyiNews/Assets.xcassets/LaunchImage/about_hd.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "about_hd@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /wangyiNews/Assets.xcassets/segmentImage/channel_nav_plus.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "channel_nav_plus@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /wangyiNews/Assets.xcassets/segmentImage/channel_edit_delete.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "channel_edit_delete@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /wangyiNews/Assets.xcassets/segmentImage/channel_grid_circle.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "channel_grid_circle@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /wangyiNews/Assets.xcassets/segmentImage/specialcell_nav_btn.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "specialcell_nav_btn@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /wangyiNews/Assets.xcassets/NaviImage/search_icon_highlighted.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "search_icon_highlighted@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /wangyiNews/Assets.xcassets/segmentImage/channel_edit_button_bg.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "channel_edit_button_bg@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /wangyiNews/Assets.xcassets/segmentImage/contenttoolbar_hd_close.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "contenttoolbar_hd_close.png", 6 | "scale" : "1x" 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 | } -------------------------------------------------------------------------------- /wangyiNews/Assets.xcassets/tabbarImage/tabbar_icon_bar_normal.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "tabbar_icon_bar_normal@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /wangyiNews/Assets.xcassets/tabbarImage/tabbar_icon_me_normal.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "tabbar_icon_me_normal@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /wangyiNews/segmentView/SegmentView.h: -------------------------------------------------------------------------------- 1 | // 2 | // SegmentView.h 3 | // wangyiNews 4 | // 5 | // Created by 蔡晓凡 on 16/4/24. 6 | // Copyright © 2016年 蔡晓凡. All rights reserved. 7 | // 8 | 9 | #import 10 | typedef void(^SelectedBlock)(NSInteger selectedItem); 11 | @interface SegmentView : UIView 12 | 13 | { 14 | SelectedBlock _block; 15 | } 16 | 17 | 18 | - (instancetype)initWithFrame:(CGRect)frame titles:(NSArray *)titles selectedBtn:(SelectedBlock)block; 19 | @end 20 | -------------------------------------------------------------------------------- /wangyiNews/Assets.xcassets/NaviImage/contentview_imagebg_logo.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "contentview_imagebg_logo@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /wangyiNews/Assets.xcassets/NaviImage/top_navigation_background.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "top_navigation_background@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /wangyiNews/Assets.xcassets/tabbarImage/tabbar_icon_bar_highlight.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "tabbar_icon_bar_highlight@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /wangyiNews/Assets.xcassets/tabbarImage/tabbar_icon_me_highlight.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "tabbar_icon_me_highlight@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /wangyiNews/Assets.xcassets/tabbarImage/tabbar_icon_media_normal.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "tabbar_icon_media_normal@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /wangyiNews/Assets.xcassets/tabbarImage/tabbar_icon_news_normal.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "tabbar_icon_news_normal@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /wangyiNews/Assets.xcassets/tabbarImage/tabbar_icon_reader_normal.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "tabbar_icon_reader_normal@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /wangyiNews/Assets.xcassets/NaviImage/contentview_hd_loading_logo.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "contentview_hd_loading_logo@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /wangyiNews/Assets.xcassets/NaviImage/top_navigation_background_88.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "top_navigation_background_88@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /wangyiNews/Assets.xcassets/tabbarImage/tabbar_icon_media_highlight.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "tabbar_icon_media_highlight@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /wangyiNews/Assets.xcassets/tabbarImage/tabbar_icon_news_highlight.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "tabbar_icon_news_highlight@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /wangyiNews/Assets.xcassets/tabbarImage/tabbar_icon_reader_highlight.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "tabbar_icon_reader_highlight@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /wangyiNews/Assets.xcassets/segmentImage/channel_edit_button_selected_bg.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "channel_edit_button_selected_bg@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /wangyiNews/Assets.xcassets/segmentImage/channel_compact_placeholder_inactive.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "channel_compact_placeholder_inactive@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /wangyiNews/segmentView/BtnCell.h: -------------------------------------------------------------------------------- 1 | // 2 | // BtnCell.h 3 | // wangyiNews 4 | // 5 | // Created by 蔡晓凡 on 16/4/24. 6 | // Copyright © 2016年 蔡晓凡. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface BtnCell : UICollectionViewCell 12 | 13 | 14 | @property (nonatomic, copy) NSString *itemName; // collectionview 名称 15 | @property (nonatomic,assign) BOOL isSelecting; //该按钮是否在scrollview中被选中 如果是 则将字体颜色改成红色 16 | @property (nonatomic ,strong) NSIndexPath *indexPath; 17 | @property (nonatomic , strong) UIButton *deleteBtn; 18 | @end 19 | -------------------------------------------------------------------------------- /wangyiNews.xcodeproj/xcuserdata/caixiaofan.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 8 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /wangyiNews/segmentView/CoBtnCell.h: -------------------------------------------------------------------------------- 1 | // 2 | // CoBtnCell.h 3 | // wangyiNews 4 | // 5 | // Created by 蔡晓凡 on 16/4/25. 6 | // Copyright © 2016年 蔡晓凡. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface CoBtnCell : UICollectionViewCell 12 | 13 | 14 | @property (nonatomic, copy) NSString *itemName; // collectionview 名称 15 | @property (nonatomic,assign) BOOL isSelecting; //该按钮是否在scrollview中被选中 如果是 则将字体颜色改成红色 16 | @property (nonatomic ,assign) NSIndexPath *indexPath; 17 | @property (nonatomic , weak) IBOutlet UIImageView *imageview; 18 | @property (nonatomic , weak) IBOutlet UILabel *label; 19 | @property (nonatomic , weak) IBOutlet UIButton *deleteBtn; 20 | @end 21 | -------------------------------------------------------------------------------- /wangyiNews/segmentView/BtnCollectionView.h: -------------------------------------------------------------------------------- 1 | // 2 | // BtnCollectionView.h 3 | // wangyiNews 4 | // 5 | // Created by 蔡晓凡 on 16/4/24. 6 | // Copyright © 2016年 蔡晓凡. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface BtnCollectionView : UICollectionView 12 | 13 | 14 | 15 | 16 | @property (nonatomic,strong) NSMutableArray *titles; 17 | @property (nonatomic, strong) NSMutableArray *scrollBtnArray; //scrollview上的按钮 用来在加载的时候设置被选中按钮为红色 18 | @property (nonatomic, assign) BOOL isChangeLocAndDelete; //是否可调换位置和删除 19 | @end 20 | @interface NormalHeader : UICollectionReusableView 21 | 22 | @property (strong, nonatomic) UILabel *label; 23 | 24 | @end -------------------------------------------------------------------------------- /wangyiNewsTests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | 24 | 25 | -------------------------------------------------------------------------------- /wangyiNewsUITests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | 24 | 25 | -------------------------------------------------------------------------------- /wangyiNews.xcodeproj/xcuserdata/caixiaofan.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | wangyiNews.xcscheme 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | SuppressBuildableAutocreation 14 | 15 | 23363C9B1CCB7D7B000366BD 16 | 17 | primary 18 | 19 | 20 | 23363CB41CCB7D7B000366BD 21 | 22 | primary 23 | 24 | 25 | 23363CBF1CCB7D7B000366BD 26 | 27 | primary 28 | 29 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /wangyiNews/HomeViewController.m: -------------------------------------------------------------------------------- 1 | // 2 | // HomeViewController.m 3 | // wangyiNews 4 | // 5 | // Created by 蔡晓凡 on 16/4/23. 6 | // Copyright © 2016年 蔡晓凡. All rights reserved. 7 | // 8 | 9 | #import "HomeViewController.h" 10 | 11 | @interface HomeViewController () 12 | 13 | @end 14 | 15 | @implementation HomeViewController 16 | 17 | - (void)viewDidLoad { 18 | [super viewDidLoad]; 19 | 20 | 21 | 22 | 23 | } 24 | 25 | - (void)didReceiveMemoryWarning { 26 | [super didReceiveMemoryWarning]; 27 | // Dispose of any resources that can be recreated. 28 | } 29 | 30 | /* 31 | #pragma mark - Navigation 32 | 33 | // In a storyboard-based application, you will often want to do a little preparation before navigation 34 | - (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { 35 | // Get the new view controller using [segue destinationViewController]. 36 | // Pass the selected object to the new view controller. 37 | } 38 | */ 39 | 40 | @end 41 | -------------------------------------------------------------------------------- /wangyiNewsTests/wangyiNewsTests.m: -------------------------------------------------------------------------------- 1 | // 2 | // wangyiNewsTests.m 3 | // wangyiNewsTests 4 | // 5 | // Created by 蔡晓凡 on 16/4/23. 6 | // Copyright © 2016年 蔡晓凡. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface wangyiNewsTests : XCTestCase 12 | 13 | @end 14 | 15 | @implementation wangyiNewsTests 16 | 17 | - (void)setUp { 18 | [super setUp]; 19 | // Put setup code here. This method is called before the invocation of each test method in the class. 20 | } 21 | 22 | - (void)tearDown { 23 | // Put teardown code here. This method is called after the invocation of each test method in the class. 24 | [super tearDown]; 25 | } 26 | 27 | - (void)testExample { 28 | // This is an example of a functional test case. 29 | // Use XCTAssert and related functions to verify your tests produce the correct results. 30 | } 31 | 32 | - (void)testPerformanceExample { 33 | // This is an example of a performance test case. 34 | [self measureBlock:^{ 35 | // Put the code you want to measure the time of here. 36 | }]; 37 | } 38 | 39 | @end 40 | -------------------------------------------------------------------------------- /wangyiNews/segmentView/CoBtnCell.m: -------------------------------------------------------------------------------- 1 | // 2 | // CoBtnCell.m 3 | // wangyiNews 4 | // 5 | // Created by 蔡晓凡 on 16/4/25. 6 | // Copyright © 2016年 蔡晓凡. All rights reserved. 7 | // 8 | 9 | #import "CoBtnCell.h" 10 | 11 | @implementation CoBtnCell 12 | 13 | - (void)awakeFromNib { 14 | 15 | } 16 | - (void)setItemName:(NSString *)itemName{ 17 | _itemName = itemName; 18 | } 19 | - (void)setIndexPath:(NSIndexPath *)indexPath{ 20 | _indexPath = indexPath; 21 | [self createView]; 22 | 23 | self.deleteBtn.tag = _indexPath.row; 24 | } 25 | - (void)createView{ 26 | 27 | 28 | 29 | 30 | self.label.text = _itemName; 31 | // NSLog(@"%@",_itemName); 32 | self.label.textColor = [UIColor blackColor]; 33 | self.label.textAlignment = NSTextAlignmentCenter; 34 | self.label.adjustsFontSizeToFitWidth = YES; 35 | 36 | if (self.indexPath.row == 0 && self.indexPath.section == 0 ) { 37 | 38 | self.label.textColor = [UIColor grayColor]; 39 | 40 | 41 | }else{ 42 | 43 | 44 | } 45 | if (self.isSelecting) { 46 | 47 | self.label.textColor = [UIColor redColor]; 48 | 49 | } 50 | 51 | 52 | } 53 | 54 | @end 55 | -------------------------------------------------------------------------------- /wangyiNewsUITests/wangyiNewsUITests.m: -------------------------------------------------------------------------------- 1 | // 2 | // wangyiNewsUITests.m 3 | // wangyiNewsUITests 4 | // 5 | // Created by 蔡晓凡 on 16/4/23. 6 | // Copyright © 2016年 蔡晓凡. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface wangyiNewsUITests : XCTestCase 12 | 13 | @end 14 | 15 | @implementation wangyiNewsUITests 16 | 17 | - (void)setUp { 18 | [super setUp]; 19 | 20 | // Put setup code here. This method is called before the invocation of each test method in the class. 21 | 22 | // In UI tests it is usually best to stop immediately when a failure occurs. 23 | self.continueAfterFailure = NO; 24 | // UI tests must launch the application that they test. Doing this in setup will make sure it happens for each test method. 25 | [[[XCUIApplication alloc] init] launch]; 26 | 27 | // In UI tests it’s important to set the initial state - such as interface orientation - required for your tests before they run. The setUp method is a good place to do this. 28 | } 29 | 30 | - (void)tearDown { 31 | // Put teardown code here. This method is called after the invocation of each test method in the class. 32 | [super tearDown]; 33 | } 34 | 35 | - (void)testExample { 36 | // Use recording to get started writing UI tests. 37 | // Use XCTAssert and related functions to verify your tests produce the correct results. 38 | } 39 | 40 | @end 41 | -------------------------------------------------------------------------------- /wangyiNews/BaseNavigationController.m: -------------------------------------------------------------------------------- 1 | // 2 | // BaseNavigationController.m 3 | // wangyiNews 4 | // 5 | // Created by 蔡晓凡 on 16/4/23. 6 | // Copyright © 2016年 蔡晓凡. All rights reserved. 7 | // 8 | 9 | #import "BaseNavigationController.h" 10 | @interface BaseNavigationController () 11 | 12 | @end 13 | 14 | @implementation BaseNavigationController 15 | 16 | - (void)viewDidLoad { 17 | [super viewDidLoad]; 18 | 19 | // [[UINavigationBar appearance] setBackgroundImage:[UIImage imageNamed:@"top_navigation_background"] forBarMetrics:UIBarMetricsDefault]; 20 | [[UINavigationBar appearance] setBarTintColor:UIColorFromRGB(0xD70004)]; 21 | [[UINavigationBar appearance]setTintColor:[UIColor whiteColor]]; 22 | 23 | 24 | 25 | } 26 | -(UIStatusBarStyle)preferredStatusBarStyle 27 | { 28 | return UIStatusBarStyleLightContent; 29 | } 30 | - (void)didReceiveMemoryWarning { 31 | [super didReceiveMemoryWarning]; 32 | // Dispose of any resources that can be recreated. 33 | } 34 | 35 | /* 36 | #pragma mark - Navigation 37 | 38 | // In a storyboard-based application, you will often want to do a little preparation before navigation 39 | - (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { 40 | // Get the new view controller using [segue destinationViewController]. 41 | // Pass the selected object to the new view controller. 42 | } 43 | */ 44 | 45 | @end 46 | -------------------------------------------------------------------------------- /wangyiNews/segmentView/FileSave.m: -------------------------------------------------------------------------------- 1 | // 2 | // FileSave.m 3 | // wangyiNews 4 | // 5 | // Created by 蔡晓凡 on 16/4/25. 6 | // Copyright © 2016年 蔡晓凡. All rights reserved. 7 | // 8 | 9 | #import "FileSave.h" 10 | 11 | @implementation FileSave 12 | 13 | 14 | 15 | +(FileSave *)shareFileSave 16 | { 17 | static FileSave *sharedManager; 18 | 19 | static dispatch_once_t onceToken; 20 | dispatch_once(&onceToken, ^{ 21 | sharedManager = [[FileSave alloc] init]; 22 | }); 23 | 24 | return sharedManager; 25 | } 26 | 27 | 28 | -( BOOL ) saveGameData:(NSMutableArray *)data saveFileName:(NSString *)fileName 29 | { 30 | NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 31 | NSString *documentsDirectory = [paths objectAtIndex:0]; 32 | if (!documentsDirectory) { 33 | NSLog(@ "Documents directory not found!" ); 34 | return NO; 35 | } 36 | NSString *appFile = [documentsDirectory stringByAppendingPathComponent:fileName]; 37 | return ([data writeToFile:appFile atomically:YES]); 38 | } 39 | 40 | 41 | -(id)loadGameData:(NSString *)fileName 42 | { 43 | NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 44 | NSString *documentsDirectory = [paths objectAtIndex:0]; 45 | NSString *appFile = [documentsDirectory stringByAppendingPathComponent:fileName]; 46 | NSMutableArray *myData = [[NSMutableArray alloc] initWithContentsOfFile:appFile]; 47 | return myData; 48 | } 49 | 50 | 51 | @end 52 | -------------------------------------------------------------------------------- /wangyiNews/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | APPL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | LSRequiresIPhoneOS 24 | 25 | UIAppFonts 26 | 27 | 隶书_GBK.TTF 28 | 方正隶书繁体.ttf 29 | 30 | UILaunchStoryboardName 31 | LaunchScreen 32 | UIMainStoryboardFile 33 | Main 34 | UIRequiredDeviceCapabilities 35 | 36 | armv7 37 | 38 | UISupportedInterfaceOrientations 39 | 40 | UIInterfaceOrientationPortrait 41 | 42 | UISupportedInterfaceOrientations~ipad 43 | 44 | UIInterfaceOrientationPortrait 45 | UIInterfaceOrientationPortraitUpsideDown 46 | UIInterfaceOrientationLandscapeLeft 47 | UIInterfaceOrientationLandscapeRight 48 | 49 | 50 | 51 | -------------------------------------------------------------------------------- /wangyiNews/segmentView/BtnCell.m: -------------------------------------------------------------------------------- 1 | // 2 | // BtnCell.m 3 | // wangyiNews 4 | // 5 | // Created by 蔡晓凡 on 16/4/24. 6 | // Copyright © 2016年 蔡晓凡. All rights reserved. 7 | // 8 | 9 | #import "BtnCell.h" 10 | 11 | @implementation BtnCell 12 | { 13 | UILabel *label; 14 | UIImageView *imageview; 15 | } 16 | - (instancetype)initWithFrame:(CGRect)frame{ 17 | 18 | if (self = [super initWithFrame:frame]) { 19 | 20 | 21 | // self.backgroundColor = [UIColor redColor]; 22 | [self createView]; 23 | } 24 | return self; 25 | } 26 | 27 | 28 | - (void)setItemName:(NSString *)itemName{ 29 | _itemName = itemName; 30 | } 31 | 32 | - (void)setIsSelecting:(BOOL)isSelecting{ 33 | _isSelecting = isSelecting; 34 | 35 | if (_isSelecting == YES) { 36 | 37 | label.textColor = [UIColor redColor]; 38 | } 39 | } 40 | - (void)setIndexPath:(NSIndexPath *)indexPath{ 41 | _indexPath = indexPath; 42 | 43 | 44 | label.text = _itemName; 45 | 46 | } 47 | - (void)createView{ 48 | 49 | 50 | 51 | 52 | label = [[UILabel alloc]initWithFrame:self.bounds]; 53 | 54 | label.textColor = [UIColor blackColor]; 55 | label.textAlignment = NSTextAlignmentCenter; 56 | label.adjustsFontSizeToFitWidth = YES; 57 | 58 | imageview = [[UIImageView alloc]initWithFrame:self.bounds]; 59 | [imageview setImage:[UIImage imageNamed:@"specialcell_nav_btn"]]; 60 | [self addSubview:imageview]; 61 | 62 | 63 | [self addSubview:label]; 64 | 65 | _deleteBtn = [UIButton buttonWithType: UIButtonTypeCustom]; 66 | _deleteBtn.frame = CGRectMake(0, 0, 20, 20); 67 | _deleteBtn.center = CGPointMake(3, 3); 68 | _deleteBtn.hidden = YES; 69 | [_deleteBtn setBackgroundImage:[UIImage imageNamed:@"channel_edit_delete"] forState:UIControlStateNormal]; 70 | [self addSubview:_deleteBtn]; 71 | } 72 | @end 73 | -------------------------------------------------------------------------------- /wangyiNews/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "size" : "29x29", 5 | "idiom" : "iphone", 6 | "filename" : "AppIcon29x29@2x.png", 7 | "scale" : "2x" 8 | }, 9 | { 10 | "size" : "29x29", 11 | "idiom" : "iphone", 12 | "filename" : "AppIcon29x29@3x.png", 13 | "scale" : "3x" 14 | }, 15 | { 16 | "size" : "40x40", 17 | "idiom" : "iphone", 18 | "filename" : "AppIcon40x40@2x.png", 19 | "scale" : "2x" 20 | }, 21 | { 22 | "size" : "40x40", 23 | "idiom" : "iphone", 24 | "filename" : "AppIcon40x40@3x.png", 25 | "scale" : "3x" 26 | }, 27 | { 28 | "size" : "60x60", 29 | "idiom" : "iphone", 30 | "filename" : "AppIcon60x60@2x.png", 31 | "scale" : "2x" 32 | }, 33 | { 34 | "size" : "60x60", 35 | "idiom" : "iphone", 36 | "filename" : "AppIcon60x60@3x.png", 37 | "scale" : "3x" 38 | }, 39 | { 40 | "size" : "29x29", 41 | "idiom" : "ipad", 42 | "filename" : "AppIcon29x29~ipad.png", 43 | "scale" : "1x" 44 | }, 45 | { 46 | "size" : "29x29", 47 | "idiom" : "ipad", 48 | "filename" : "AppIcon29x29@2x~ipad.png", 49 | "scale" : "2x" 50 | }, 51 | { 52 | "size" : "40x40", 53 | "idiom" : "ipad", 54 | "filename" : "AppIcon40x40~ipad.png", 55 | "scale" : "1x" 56 | }, 57 | { 58 | "size" : "40x40", 59 | "idiom" : "ipad", 60 | "filename" : "AppIcon40x40@2x~ipad.png", 61 | "scale" : "2x" 62 | }, 63 | { 64 | "size" : "76x76", 65 | "idiom" : "ipad", 66 | "filename" : "AppIcon76x76~ipad.png", 67 | "scale" : "1x" 68 | }, 69 | { 70 | "size" : "76x76", 71 | "idiom" : "ipad", 72 | "filename" : "AppIcon76x76@2x~ipad.png", 73 | "scale" : "2x" 74 | }, 75 | { 76 | "size" : "83.5x83.5", 77 | "idiom" : "ipad", 78 | "filename" : "AppIcon83.5x83.5@2x~ipad.png", 79 | "scale" : "2x" 80 | } 81 | ], 82 | "info" : { 83 | "version" : 1, 84 | "author" : "xcode" 85 | } 86 | } -------------------------------------------------------------------------------- /wangyiNews/segmentView/ScrollviewHeaderView.m: -------------------------------------------------------------------------------- 1 | // 2 | // ScrollviewHeaderView.m 3 | // wangyiNews 4 | // 5 | // Created by 蔡晓凡 on 16/4/24. 6 | // Copyright © 2016年 蔡晓凡. All rights reserved. 7 | // 8 | 9 | #import "ScrollviewHeaderView.h" 10 | 11 | @implementation ScrollviewHeaderView 12 | @synthesize explainLabel; 13 | @synthesize selectBtn; 14 | /* 15 | // Only override drawRect: if you perform custom drawing. 16 | // An empty implementation adversely affects performance during animation. 17 | - (void)drawRect:(CGRect)rect { 18 | // Drawing code 19 | } 20 | */ 21 | - (instancetype)initWithFrame:(CGRect)frame 22 | { 23 | if (self = [super initWithFrame:frame]) { 24 | 25 | [self createView]; 26 | 27 | } 28 | 29 | return self; 30 | } 31 | 32 | - (void)createView{ 33 | 34 | explainLabel = [[UILabel alloc]initWithFrame:CGRectMake(10, 0, self.bounds.size.width/2, 50)]; 35 | explainLabel.text = @"切换栏目"; 36 | explainLabel.textAlignment = NSTextAlignmentLeft; 37 | explainLabel.adjustsFontSizeToFitWidth = YES; 38 | explainLabel.font = [UIFont systemFontOfSize:15]; 39 | [self addSubview:explainLabel]; 40 | 41 | selectBtn = [UIButton buttonWithType:UIButtonTypeCustom]; 42 | selectBtn.frame = CGRectMake(self.bounds.size.width-120, 5, 60, 40); 43 | [selectBtn setBackgroundImage:[UIImage imageNamed:@"channel_edit_button_bg"] forState:UIControlStateNormal]; 44 | [selectBtn setImage:[UIImage imageNamed:@"channel_edit_button_selected_bg"] forState:UIControlStateHighlighted]; 45 | [selectBtn setTitle:@"排序删除" forState:UIControlStateNormal]; 46 | [selectBtn setTitle:@"完成" forState:UIControlStateSelected]; 47 | [selectBtn addTarget:self action:@selector(sortDelete:) forControlEvents:UIControlEventTouchUpInside]; 48 | [selectBtn setTitleColor:[UIColor redColor] forState:UIControlStateSelected]; 49 | [selectBtn setTitleColor:[UIColor redColor] forState:UIControlStateNormal]; 50 | selectBtn.titleLabel.adjustsFontSizeToFitWidth = YES; 51 | [self addSubview:selectBtn]; 52 | } 53 | 54 | - (void)sortDelete:(UIButton *)sender { 55 | 56 | sender.selected = !sender.selected; 57 | 58 | if (sender.selected) { 59 | explainLabel.text = @"拖动排序"; 60 | 61 | }else{ 62 | explainLabel.text = @"切换栏目"; 63 | } 64 | 65 | [[NSNotificationCenter defaultCenter]postNotificationName:@"sortDelete" object:nil userInfo:@{@"selectBool":[NSNumber numberWithBool:sender.selected]}]; 66 | } 67 | @end 68 | -------------------------------------------------------------------------------- /wangyiNews/BaseTabbarController.m: -------------------------------------------------------------------------------- 1 | // 2 | // BaseTabbarController.m 3 | // wangyiNews 4 | // 5 | // Created by 蔡晓凡 on 16/4/23. 6 | // Copyright © 2016年 蔡晓凡. All rights reserved. 7 | // 8 | 9 | #import "BaseTabbarController.h" 10 | 11 | @interface BaseTabbarController () 12 | 13 | @end 14 | 15 | @implementation BaseTabbarController 16 | 17 | - (void)viewDidLoad { 18 | [super viewDidLoad]; 19 | self.tabBar.tintColor=[UIColor redColor]; 20 | // 拿到 TabBar 在拿到想应的item 21 | UITabBar *tabBar = self.tabBar; 22 | UITabBarItem *item0 = [tabBar.items objectAtIndex:0]; 23 | UITabBarItem *item1 = [tabBar.items objectAtIndex:1]; 24 | UITabBarItem *item2 = [tabBar.items objectAtIndex:2]; 25 | UITabBarItem *item3 = [tabBar.items objectAtIndex:3]; 26 | UITabBarItem *item4 = [tabBar.items objectAtIndex:4]; 27 | // 对item设置相应地图片 28 | item0.selectedImage = [[UIImage imageNamed:@"tabbar_icon_news_highlight"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];; 29 | item0.image = [[UIImage imageNamed:@"tabbar_icon_news_normal"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]; 30 | 31 | item1.selectedImage = [[UIImage imageNamed:@"tabbar_icon_reader_highlight"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];; 32 | item1.image = [[UIImage imageNamed:@"tabbar_icon_reader_normal"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]; 33 | 34 | item2.selectedImage = [[UIImage imageNamed:@"tabbar_icon_media_highlight"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];; 35 | item2.image = [[UIImage imageNamed:@"tabbar_icon_media_normal"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]; 36 | 37 | item3.selectedImage = [[UIImage imageNamed:@"tabbar_icon_bar_highlight"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];; 38 | item3.image = [[UIImage imageNamed:@"tabbar_icon_bar_normal"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]; 39 | item4.selectedImage = [[UIImage imageNamed:@"tabbar_icon_me_highlight"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];; 40 | item4.image = [[UIImage imageNamed:@"tabbar_icon_me_normal"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]; 41 | } 42 | 43 | - (void)didReceiveMemoryWarning { 44 | [super didReceiveMemoryWarning]; 45 | // Dispose of any resources that can be recreated. 46 | } 47 | 48 | /* 49 | #pragma mark - Navigation 50 | 51 | // In a storyboard-based application, you will often want to do a little preparation before navigation 52 | - (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { 53 | // Get the new view controller using [segue destinationViewController]. 54 | // Pass the selected object to the new view controller. 55 | } 56 | */ 57 | 58 | @end 59 | -------------------------------------------------------------------------------- /wangyiNews/Base.lproj/LaunchScreen.storyboard: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | -------------------------------------------------------------------------------- /wangyiNews/AppDelegate.m: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.m 3 | // wangyiNews 4 | // 5 | // Created by 蔡晓凡 on 16/4/23. 6 | // Copyright © 2016年 蔡晓凡. All rights reserved. 7 | // 8 | 9 | #import "AppDelegate.h" 10 | 11 | @interface AppDelegate () 12 | 13 | @end 14 | 15 | @implementation AppDelegate 16 | 17 | 18 | - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { 19 | NSFileManager *manager = [[NSFileManager alloc]init]; 20 | self.window.backgroundColor = [UIColor whiteColor]; 21 | NSArray *hostList = @[@"头条",@"娱乐",@"热点",@"体育",@"泉州",@"网易号",@"财经",@"科技",@"汽车",@"时尚",@"图片",@"跟贴",@"房产",@"直播",@"轻松一刻",@"段子",@"军事",@"历史",@"家居",@"独家",@"游戏",@"健康",@"政务",@"哒哒趣闻",@"美女",@"NBA",@"社会",@"彩票"]; 22 | 23 | NSArray *addList = @[@"漫画",@"影视歌",@"中国足球",@"国际足球",@"CBA",@"跑步",@"手机",@"数码",@"移动互联",@"云课堂",@"态度公开课",@"旅游",@"读书",@"酒香",@"教育",@"亲子",@"暴雪游戏",@"情感",@"艺术",@"博客",@"论坛",@"型男",@"萌宠"]; 24 | NSArray * paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 25 | NSString * documentDirectory = [paths objectAtIndex:0]; 26 | 27 | NSString * BtnList = [documentDirectory stringByAppendingPathComponent:@"BtnList.txt"]; 28 | NSString * ADDList = [documentDirectory stringByAppendingPathComponent:@"ADDList.txt"]; 29 | if (![manager fileExistsAtPath:BtnList] ) { 30 | 31 | 32 | [manager createFileAtPath:BtnList contents:nil attributes:nil]; 33 | [hostList writeToFile:BtnList atomically:YES]; 34 | 35 | } 36 | if ( ![manager fileExistsAtPath:ADDList]) { 37 | [manager createFileAtPath:ADDList contents:nil attributes:nil]; 38 | [addList writeToFile:ADDList atomically:YES]; 39 | 40 | } 41 | 42 | 43 | return YES; 44 | } 45 | 46 | - (void)applicationWillResignActive:(UIApplication *)application { 47 | // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state. 48 | // Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game. 49 | } 50 | 51 | - (void)applicationDidEnterBackground:(UIApplication *)application { 52 | // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later. 53 | // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits. 54 | } 55 | 56 | - (void)applicationWillEnterForeground:(UIApplication *)application { 57 | // Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background. 58 | } 59 | 60 | - (void)applicationDidBecomeActive:(UIApplication *)application { 61 | // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface. 62 | } 63 | 64 | - (void)applicationWillTerminate:(UIApplication *)application { 65 | // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:. 66 | } 67 | 68 | @end 69 | -------------------------------------------------------------------------------- /wangyiNews.xcodeproj/xcuserdata/caixiaofan.xcuserdatad/xcschemes/wangyiNews.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 24 | 25 | 30 | 31 | 33 | 39 | 40 | 41 | 43 | 49 | 50 | 51 | 52 | 53 | 59 | 60 | 61 | 62 | 63 | 64 | 74 | 76 | 82 | 83 | 84 | 85 | 86 | 87 | 93 | 95 | 101 | 102 | 103 | 104 | 106 | 107 | 110 | 111 | 112 | -------------------------------------------------------------------------------- /wangyiNews/segmentView/CoBtnCell.xib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 30 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | -------------------------------------------------------------------------------- /wangyiNews/News/Controller/NewsControllerTableViewController.m: -------------------------------------------------------------------------------- 1 | // 2 | // NewsControllerTableViewController.m 3 | // wangyiNews 4 | // 5 | // Created by 蔡晓凡 on 16/4/23. 6 | // Copyright © 2016年 蔡晓凡. All rights reserved. 7 | // 8 | 9 | #import "NewsControllerTableViewController.h" 10 | #import "SegmentView.h" 11 | #import "BtnCollectionView.h" 12 | @interface NewsControllerTableViewController () 13 | 14 | @end 15 | 16 | @implementation NewsControllerTableViewController 17 | 18 | - (void)viewDidLoad { 19 | [super viewDidLoad]; 20 | 21 | 22 | self.view.backgroundColor = [UIColor whiteColor]; 23 | // 这个问题iOS7就出现了,只要scrollView是其父视图上的第一个子视图,且navigationBar不隐藏的情况下,添加到scrollView里的视图,都会默认下移64个像素。 导致scrollview里面的内容向下偏移了64 添加此方法 从导航栏下开始计算 24 | if ([self respondsToSelector:@selector(setEdgesForExtendedLayout:)]) { 25 | self.edgesForExtendedLayout = UIRectEdgeNone; 26 | } 27 | 28 | 29 | /* 30 | *添加标题 31 | *下载ttf字体文件 在info中添加Fonts provided by application 在build phases 的copy哩添加 32 | * 33 | */ 34 | UILabel *titleLabel = [[UILabel alloc]initWithFrame:CGRectMake(0, 0, 80, 44)]; 35 | titleLabel.text = @"網易"; 36 | [titleLabel setFont:[UIFont fontWithName:@"LiSu" size:30]]; 37 | titleLabel.textColor = [UIColor whiteColor]; 38 | titleLabel.textAlignment = NSTextAlignmentCenter; 39 | [self.navigationController.navigationBar addSubview:titleLabel]; 40 | titleLabel.center = CGPointMake([UIScreen mainScreen].bounds.size.width/2, 28); 41 | 42 | UIButton *NavLeBtn = [UIButton buttonWithType:UIButtonTypeCustom]; 43 | NavLeBtn.frame = CGRectMake(0, 0, 30, 30); 44 | [NavLeBtn setBackgroundImage:[UIImage imageNamed:@"search_icon_highlighted"] forState:UIControlStateNormal]; 45 | [NavLeBtn addTarget:self action:@selector(SearchNews) forControlEvents:UIControlEventTouchUpInside]; 46 | UIBarButtonItem *leftBtn = [[UIBarButtonItem alloc]initWithCustomView:NavLeBtn]; 47 | self.navigationItem.leftBarButtonItem = leftBtn; 48 | 49 | FileSave *filesave = [FileSave shareFileSave]; 50 | NSArray *btnlist = [filesave loadGameData:@"BtnList.txt"]; 51 | 52 | //添加SegmentView 53 | SegmentView *seg = [[SegmentView alloc]initWithFrame:CGRectMake(0, 0, [UIScreen mainScreen].bounds.size.width, 50) titles:btnlist selectedBtn:^(NSInteger selectedItem) { 54 | 55 | NSLog(@"%ld",(long)selectedItem); 56 | 57 | }]; 58 | 59 | [self.view addSubview:seg]; 60 | 61 | } 62 | 63 | - (void)didReceiveMemoryWarning { 64 | [super didReceiveMemoryWarning]; 65 | // Dispose of any resources that can be recreated. 66 | } 67 | 68 | 69 | - (void)SearchNews 70 | { 71 | 72 | } 73 | #pragma mark - Table view data source 74 | 75 | - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { 76 | #warning Incomplete implementation, return the number of sections 77 | return 0; 78 | } 79 | 80 | - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { 81 | #warning Incomplete implementation, return the number of rows 82 | return 0; 83 | } 84 | 85 | /* 86 | - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { 87 | UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:<#@"reuseIdentifier"#> forIndexPath:indexPath]; 88 | 89 | // Configure the cell... 90 | 91 | return cell; 92 | } 93 | */ 94 | 95 | /* 96 | // Override to support conditional editing of the table view. 97 | - (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath { 98 | // Return NO if you do not want the specified item to be editable. 99 | return YES; 100 | } 101 | */ 102 | 103 | /* 104 | // Override to support editing the table view. 105 | - (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath { 106 | if (editingStyle == UITableViewCellEditingStyleDelete) { 107 | // Delete the row from the data source 108 | [tableView deleteRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationFade]; 109 | } else if (editingStyle == UITableViewCellEditingStyleInsert) { 110 | // Create a new instance of the appropriate class, insert it into the array, and add a new row to the table view 111 | } 112 | } 113 | */ 114 | 115 | /* 116 | // Override to support rearranging the table view. 117 | - (void)tableView:(UITableView *)tableView moveRowAtIndexPath:(NSIndexPath *)fromIndexPath toIndexPath:(NSIndexPath *)toIndexPath { 118 | } 119 | */ 120 | 121 | /* 122 | // Override to support conditional rearranging of the table view. 123 | - (BOOL)tableView:(UITableView *)tableView canMoveRowAtIndexPath:(NSIndexPath *)indexPath { 124 | // Return NO if you do not want the item to be re-orderable. 125 | return YES; 126 | } 127 | */ 128 | 129 | /* 130 | #pragma mark - Navigation 131 | 132 | // In a storyboard-based application, you will often want to do a little preparation before navigation 133 | - (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { 134 | // Get the new view controller using [segue destinationViewController]. 135 | // Pass the selected object to the new view controller. 136 | } 137 | */ 138 | 139 | @end 140 | -------------------------------------------------------------------------------- /wangyiNews/segmentView/SegmentView.m: -------------------------------------------------------------------------------- 1 | // 2 | // SegmentView.m 3 | // wangyiNews 4 | // 5 | // Created by 蔡晓凡 on 16/4/24. 6 | // Copyright © 2016年 蔡晓凡. All rights reserved. 7 | // 8 | 9 | #import "SegmentView.h" 10 | #import "ScrollviewHeaderView.h" 11 | #import "BtnCollectionView.h" 12 | @implementation SegmentView 13 | { 14 | UIScrollView *_scrollView; 15 | UIButton * addBtn; 16 | NSMutableArray *btnSelected; 17 | ScrollviewHeaderView *headerView; //新闻类型选择 18 | BtnCollectionView *_btncollectionView; //新闻类型排序 添加 删除 19 | NSMutableArray *titleArray; 20 | 21 | } 22 | - (instancetype)initWithFrame:(CGRect)frame titles:(NSArray *)titles selectedBtn:(SelectedBlock)block{ 23 | 24 | if (self = [super initWithFrame:frame]) { 25 | 26 | self.backgroundColor = [UIColor whiteColor]; 27 | self.frame = CGRectMake(frame.origin.x, frame.origin.y, [UIScreen mainScreen].bounds.size.width, 50); 28 | 29 | _block = block; 30 | titleArray = [NSMutableArray arrayWithArray:titles]; 31 | [self CreateView:frame title:titleArray]; 32 | 33 | } 34 | 35 | return self; 36 | } 37 | 38 | 39 | - (void)CreateView:(CGRect)frame title:(NSArray *)hostlist{ 40 | 41 | float btnW = 0; 42 | btnSelected = [[NSMutableArray alloc]init]; 43 | _scrollView = [[UIScrollView alloc]initWithFrame:CGRectMake(0, 0, [UIScreen mainScreen].bounds.size.width - 50, 50)]; 44 | _scrollView.backgroundColor = [UIColor whiteColor]; 45 | _scrollView.showsHorizontalScrollIndicator = NO; 46 | _scrollView.showsVerticalScrollIndicator = NO; 47 | for (int i = 0; i 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | 142 | 143 | 144 | 145 | 146 | 147 | 148 | 149 | 150 | 151 | 152 | 153 | 154 | 155 | 156 | 157 | 158 | 159 | 160 | 161 | 162 | 163 | 164 | 165 | 166 | 167 | 168 | 169 | 170 | 171 | 172 | 173 | 174 | 175 | 176 | 177 | 178 | 179 | 180 | 181 | 182 | 183 | 184 | 185 | 186 | 187 | 188 | 189 | 190 | 191 | 192 | 193 | 194 | 195 | 196 | 197 | 198 | 199 | 200 | 201 | 202 | 203 | 204 | 205 | 206 | 207 | 208 | 209 | 210 | 211 | 212 | 213 | 214 | 215 | 216 | 217 | 218 | 219 | 220 | 221 | 222 | 223 | 224 | 225 | 226 | 227 | 228 | 229 | 230 | 231 | 232 | 233 | 234 | 235 | 236 | 237 | 238 | 239 | 240 | -------------------------------------------------------------------------------- /wangyiNews.xcodeproj/project.pbxproj: -------------------------------------------------------------------------------- 1 | // !$*UTF8*$! 2 | { 3 | archiveVersion = 1; 4 | classes = { 5 | }; 6 | objectVersion = 46; 7 | objects = { 8 | 9 | /* Begin PBXBuildFile section */ 10 | 23363CA11CCB7D7B000366BD /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 23363CA01CCB7D7B000366BD /* main.m */; }; 11 | 23363CA41CCB7D7B000366BD /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 23363CA31CCB7D7B000366BD /* AppDelegate.m */; }; 12 | 23363CAA1CCB7D7B000366BD /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 23363CA81CCB7D7B000366BD /* Main.storyboard */; }; 13 | 23363CAC1CCB7D7B000366BD /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 23363CAB1CCB7D7B000366BD /* Assets.xcassets */; }; 14 | 23363CAF1CCB7D7B000366BD /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 23363CAD1CCB7D7B000366BD /* LaunchScreen.storyboard */; }; 15 | 23363CBA1CCB7D7B000366BD /* wangyiNewsTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 23363CB91CCB7D7B000366BD /* wangyiNewsTests.m */; }; 16 | 23363CC51CCB7D7B000366BD /* wangyiNewsUITests.m in Sources */ = {isa = PBXBuildFile; fileRef = 23363CC41CCB7D7B000366BD /* wangyiNewsUITests.m */; }; 17 | 23363CD41CCB7DD3000366BD /* HomeViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 23363CD31CCB7DD3000366BD /* HomeViewController.m */; }; 18 | 23363CD71CCB8BA3000366BD /* BaseTabbarController.m in Sources */ = {isa = PBXBuildFile; fileRef = 23363CD61CCB8BA3000366BD /* BaseTabbarController.m */; }; 19 | 23363CDD1CCBB7B6000366BD /* BaseNavigationController.m in Sources */ = {isa = PBXBuildFile; fileRef = 23363CDC1CCBB7B6000366BD /* BaseNavigationController.m */; }; 20 | 23363CE51CCBBE6B000366BD /* NewsControllerTableViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 23363CE41CCBBE6B000366BD /* NewsControllerTableViewController.m */; }; 21 | 23363CEC1CCBD331000366BD /* 方正隶书繁体.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 23363CE71CCBC99E000366BD /* 方正隶书繁体.ttf */; }; 22 | 23363CED1CCBD336000366BD /* 隶书_GBK.TTF in Resources */ = {isa = PBXBuildFile; fileRef = 23363CE61CCBC70E000366BD /* 隶书_GBK.TTF */; }; 23 | 237122AC1CCC733A007DA36C /* SegmentView.m in Sources */ = {isa = PBXBuildFile; fileRef = 237122AB1CCC733A007DA36C /* SegmentView.m */; }; 24 | 237122AF1CCCACDB007DA36C /* ScrollviewHeaderView.m in Sources */ = {isa = PBXBuildFile; fileRef = 237122AE1CCCACDB007DA36C /* ScrollviewHeaderView.m */; }; 25 | 237122F41CCCC724007DA36C /* BtnCollectionView.m in Sources */ = {isa = PBXBuildFile; fileRef = 237122F31CCCC724007DA36C /* BtnCollectionView.m */; }; 26 | 237123001CCD0DF5007DA36C /* BtnCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 237122FF1CCD0DF5007DA36C /* BtnCell.m */; }; 27 | 237123041CCD2FC7007DA36C /* CoBtnCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 237123021CCD2FC7007DA36C /* CoBtnCell.m */; }; 28 | 237123051CCD2FC7007DA36C /* CoBtnCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 237123031CCD2FC7007DA36C /* CoBtnCell.xib */; }; 29 | 23776D411CCE0A0800FE5732 /* FileSave.m in Sources */ = {isa = PBXBuildFile; fileRef = 23776D401CCE0A0800FE5732 /* FileSave.m */; }; 30 | /* End PBXBuildFile section */ 31 | 32 | /* Begin PBXContainerItemProxy section */ 33 | 23363CB61CCB7D7B000366BD /* PBXContainerItemProxy */ = { 34 | isa = PBXContainerItemProxy; 35 | containerPortal = 23363C941CCB7D7B000366BD /* Project object */; 36 | proxyType = 1; 37 | remoteGlobalIDString = 23363C9B1CCB7D7B000366BD; 38 | remoteInfo = wangyiNews; 39 | }; 40 | 23363CC11CCB7D7B000366BD /* PBXContainerItemProxy */ = { 41 | isa = PBXContainerItemProxy; 42 | containerPortal = 23363C941CCB7D7B000366BD /* Project object */; 43 | proxyType = 1; 44 | remoteGlobalIDString = 23363C9B1CCB7D7B000366BD; 45 | remoteInfo = wangyiNews; 46 | }; 47 | /* End PBXContainerItemProxy section */ 48 | 49 | /* Begin PBXFileReference section */ 50 | 23363C9C1CCB7D7B000366BD /* 仿网易新闻.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "仿网易新闻.app"; sourceTree = BUILT_PRODUCTS_DIR; }; 51 | 23363CA01CCB7D7B000366BD /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; 52 | 23363CA21CCB7D7B000366BD /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = ""; }; 53 | 23363CA31CCB7D7B000366BD /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = ""; }; 54 | 23363CA91CCB7D7B000366BD /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; 55 | 23363CAB1CCB7D7B000366BD /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; 56 | 23363CAE1CCB7D7B000366BD /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; 57 | 23363CB01CCB7D7B000366BD /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 58 | 23363CB51CCB7D7B000366BD /* wangyiNewsTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = wangyiNewsTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 59 | 23363CB91CCB7D7B000366BD /* wangyiNewsTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = wangyiNewsTests.m; sourceTree = ""; }; 60 | 23363CBB1CCB7D7B000366BD /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 61 | 23363CC01CCB7D7B000366BD /* wangyiNewsUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = wangyiNewsUITests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 62 | 23363CC41CCB7D7B000366BD /* wangyiNewsUITests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = wangyiNewsUITests.m; sourceTree = ""; }; 63 | 23363CC61CCB7D7B000366BD /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 64 | 23363CD21CCB7DD3000366BD /* HomeViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HomeViewController.h; sourceTree = ""; }; 65 | 23363CD31CCB7DD3000366BD /* HomeViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HomeViewController.m; sourceTree = ""; }; 66 | 23363CD51CCB8BA3000366BD /* BaseTabbarController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BaseTabbarController.h; sourceTree = ""; }; 67 | 23363CD61CCB8BA3000366BD /* BaseTabbarController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BaseTabbarController.m; sourceTree = ""; }; 68 | 23363CDB1CCBB7B6000366BD /* BaseNavigationController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BaseNavigationController.h; sourceTree = ""; }; 69 | 23363CDC1CCBB7B6000366BD /* BaseNavigationController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BaseNavigationController.m; sourceTree = ""; }; 70 | 23363CE31CCBBE6B000366BD /* NewsControllerTableViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NewsControllerTableViewController.h; sourceTree = ""; }; 71 | 23363CE41CCBBE6B000366BD /* NewsControllerTableViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NewsControllerTableViewController.m; sourceTree = ""; }; 72 | 23363CE61CCBC70E000366BD /* 隶书_GBK.TTF */ = {isa = PBXFileReference; lastKnownFileType = file; path = "隶书_GBK.TTF"; sourceTree = ""; }; 73 | 23363CE71CCBC99E000366BD /* 方正隶书繁体.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "方正隶书繁体.ttf"; sourceTree = ""; }; 74 | 237122AA1CCC733A007DA36C /* SegmentView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SegmentView.h; sourceTree = ""; }; 75 | 237122AB1CCC733A007DA36C /* SegmentView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SegmentView.m; sourceTree = ""; }; 76 | 237122AD1CCCACDB007DA36C /* ScrollviewHeaderView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ScrollviewHeaderView.h; sourceTree = ""; }; 77 | 237122AE1CCCACDB007DA36C /* ScrollviewHeaderView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ScrollviewHeaderView.m; sourceTree = ""; }; 78 | 237122F21CCCC724007DA36C /* BtnCollectionView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BtnCollectionView.h; sourceTree = ""; }; 79 | 237122F31CCCC724007DA36C /* BtnCollectionView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BtnCollectionView.m; sourceTree = ""; }; 80 | 237122FE1CCD0DF5007DA36C /* BtnCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BtnCell.h; sourceTree = ""; }; 81 | 237122FF1CCD0DF5007DA36C /* BtnCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BtnCell.m; sourceTree = ""; }; 82 | 237123011CCD2FC7007DA36C /* CoBtnCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CoBtnCell.h; sourceTree = ""; }; 83 | 237123021CCD2FC7007DA36C /* CoBtnCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CoBtnCell.m; sourceTree = ""; }; 84 | 237123031CCD2FC7007DA36C /* CoBtnCell.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = CoBtnCell.xib; sourceTree = ""; }; 85 | 23776D3E1CCDFCDE00FE5732 /* Common.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Common.pch; sourceTree = ""; }; 86 | 23776D3F1CCE0A0800FE5732 /* FileSave.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FileSave.h; sourceTree = ""; }; 87 | 23776D401CCE0A0800FE5732 /* FileSave.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FileSave.m; sourceTree = ""; }; 88 | /* End PBXFileReference section */ 89 | 90 | /* Begin PBXFrameworksBuildPhase section */ 91 | 23363C991CCB7D7B000366BD /* Frameworks */ = { 92 | isa = PBXFrameworksBuildPhase; 93 | buildActionMask = 2147483647; 94 | files = ( 95 | ); 96 | runOnlyForDeploymentPostprocessing = 0; 97 | }; 98 | 23363CB21CCB7D7B000366BD /* Frameworks */ = { 99 | isa = PBXFrameworksBuildPhase; 100 | buildActionMask = 2147483647; 101 | files = ( 102 | ); 103 | runOnlyForDeploymentPostprocessing = 0; 104 | }; 105 | 23363CBD1CCB7D7B000366BD /* Frameworks */ = { 106 | isa = PBXFrameworksBuildPhase; 107 | buildActionMask = 2147483647; 108 | files = ( 109 | ); 110 | runOnlyForDeploymentPostprocessing = 0; 111 | }; 112 | /* End PBXFrameworksBuildPhase section */ 113 | 114 | /* Begin PBXGroup section */ 115 | 23363C931CCB7D7B000366BD = { 116 | isa = PBXGroup; 117 | children = ( 118 | 23363C9E1CCB7D7B000366BD /* wangyiNews */, 119 | 23363CB81CCB7D7B000366BD /* wangyiNewsTests */, 120 | 23363CC31CCB7D7B000366BD /* wangyiNewsUITests */, 121 | 23363C9D1CCB7D7B000366BD /* Products */, 122 | ); 123 | sourceTree = ""; 124 | }; 125 | 23363C9D1CCB7D7B000366BD /* Products */ = { 126 | isa = PBXGroup; 127 | children = ( 128 | 23363C9C1CCB7D7B000366BD /* 仿网易新闻.app */, 129 | 23363CB51CCB7D7B000366BD /* wangyiNewsTests.xctest */, 130 | 23363CC01CCB7D7B000366BD /* wangyiNewsUITests.xctest */, 131 | ); 132 | name = Products; 133 | sourceTree = ""; 134 | }; 135 | 23363C9E1CCB7D7B000366BD /* wangyiNews */ = { 136 | isa = PBXGroup; 137 | children = ( 138 | 237122A91CCC6B4E007DA36C /* segmentView */, 139 | 23363CDF1CCBBE39000366BD /* News */, 140 | 23363CA21CCB7D7B000366BD /* AppDelegate.h */, 141 | 23363CA31CCB7D7B000366BD /* AppDelegate.m */, 142 | 23363CD21CCB7DD3000366BD /* HomeViewController.h */, 143 | 23363CD31CCB7DD3000366BD /* HomeViewController.m */, 144 | 23363CD51CCB8BA3000366BD /* BaseTabbarController.h */, 145 | 23363CD61CCB8BA3000366BD /* BaseTabbarController.m */, 146 | 23363CDB1CCBB7B6000366BD /* BaseNavigationController.h */, 147 | 23363CDC1CCBB7B6000366BD /* BaseNavigationController.m */, 148 | 23363CA81CCB7D7B000366BD /* Main.storyboard */, 149 | 23363CAB1CCB7D7B000366BD /* Assets.xcassets */, 150 | 23363CAD1CCB7D7B000366BD /* LaunchScreen.storyboard */, 151 | 23363CB01CCB7D7B000366BD /* Info.plist */, 152 | 23363C9F1CCB7D7B000366BD /* Supporting Files */, 153 | ); 154 | path = wangyiNews; 155 | sourceTree = ""; 156 | }; 157 | 23363C9F1CCB7D7B000366BD /* Supporting Files */ = { 158 | isa = PBXGroup; 159 | children = ( 160 | 23363CE71CCBC99E000366BD /* 方正隶书繁体.ttf */, 161 | 23363CE61CCBC70E000366BD /* 隶书_GBK.TTF */, 162 | 23363CA01CCB7D7B000366BD /* main.m */, 163 | 23776D3E1CCDFCDE00FE5732 /* Common.pch */, 164 | ); 165 | name = "Supporting Files"; 166 | sourceTree = ""; 167 | }; 168 | 23363CB81CCB7D7B000366BD /* wangyiNewsTests */ = { 169 | isa = PBXGroup; 170 | children = ( 171 | 23363CB91CCB7D7B000366BD /* wangyiNewsTests.m */, 172 | 23363CBB1CCB7D7B000366BD /* Info.plist */, 173 | ); 174 | path = wangyiNewsTests; 175 | sourceTree = ""; 176 | }; 177 | 23363CC31CCB7D7B000366BD /* wangyiNewsUITests */ = { 178 | isa = PBXGroup; 179 | children = ( 180 | 23363CC41CCB7D7B000366BD /* wangyiNewsUITests.m */, 181 | 23363CC61CCB7D7B000366BD /* Info.plist */, 182 | ); 183 | path = wangyiNewsUITests; 184 | sourceTree = ""; 185 | }; 186 | 23363CDF1CCBBE39000366BD /* News */ = { 187 | isa = PBXGroup; 188 | children = ( 189 | 23363CE01CCBBE39000366BD /* Controller */, 190 | 23363CE11CCBBE39000366BD /* Model */, 191 | 23363CE21CCBBE39000366BD /* View */, 192 | ); 193 | path = News; 194 | sourceTree = ""; 195 | }; 196 | 23363CE01CCBBE39000366BD /* Controller */ = { 197 | isa = PBXGroup; 198 | children = ( 199 | 23363CE31CCBBE6B000366BD /* NewsControllerTableViewController.h */, 200 | 23363CE41CCBBE6B000366BD /* NewsControllerTableViewController.m */, 201 | ); 202 | path = Controller; 203 | sourceTree = ""; 204 | }; 205 | 23363CE11CCBBE39000366BD /* Model */ = { 206 | isa = PBXGroup; 207 | children = ( 208 | ); 209 | path = Model; 210 | sourceTree = ""; 211 | }; 212 | 23363CE21CCBBE39000366BD /* View */ = { 213 | isa = PBXGroup; 214 | children = ( 215 | ); 216 | path = View; 217 | sourceTree = ""; 218 | }; 219 | 237122A91CCC6B4E007DA36C /* segmentView */ = { 220 | isa = PBXGroup; 221 | children = ( 222 | 237122AA1CCC733A007DA36C /* SegmentView.h */, 223 | 237122AB1CCC733A007DA36C /* SegmentView.m */, 224 | 237122AD1CCCACDB007DA36C /* ScrollviewHeaderView.h */, 225 | 237122AE1CCCACDB007DA36C /* ScrollviewHeaderView.m */, 226 | 237122F21CCCC724007DA36C /* BtnCollectionView.h */, 227 | 237122F31CCCC724007DA36C /* BtnCollectionView.m */, 228 | 237122FE1CCD0DF5007DA36C /* BtnCell.h */, 229 | 237122FF1CCD0DF5007DA36C /* BtnCell.m */, 230 | 237123011CCD2FC7007DA36C /* CoBtnCell.h */, 231 | 237123021CCD2FC7007DA36C /* CoBtnCell.m */, 232 | 237123031CCD2FC7007DA36C /* CoBtnCell.xib */, 233 | 23776D3F1CCE0A0800FE5732 /* FileSave.h */, 234 | 23776D401CCE0A0800FE5732 /* FileSave.m */, 235 | ); 236 | path = segmentView; 237 | sourceTree = ""; 238 | }; 239 | /* End PBXGroup section */ 240 | 241 | /* Begin PBXNativeTarget section */ 242 | 23363C9B1CCB7D7B000366BD /* wangyiNews */ = { 243 | isa = PBXNativeTarget; 244 | buildConfigurationList = 23363CC91CCB7D7B000366BD /* Build configuration list for PBXNativeTarget "wangyiNews" */; 245 | buildPhases = ( 246 | 23363C981CCB7D7B000366BD /* Sources */, 247 | 23363C991CCB7D7B000366BD /* Frameworks */, 248 | 23363C9A1CCB7D7B000366BD /* Resources */, 249 | ); 250 | buildRules = ( 251 | ); 252 | dependencies = ( 253 | ); 254 | name = wangyiNews; 255 | productName = wangyiNews; 256 | productReference = 23363C9C1CCB7D7B000366BD /* 仿网易新闻.app */; 257 | productType = "com.apple.product-type.application"; 258 | }; 259 | 23363CB41CCB7D7B000366BD /* wangyiNewsTests */ = { 260 | isa = PBXNativeTarget; 261 | buildConfigurationList = 23363CCC1CCB7D7B000366BD /* Build configuration list for PBXNativeTarget "wangyiNewsTests" */; 262 | buildPhases = ( 263 | 23363CB11CCB7D7B000366BD /* Sources */, 264 | 23363CB21CCB7D7B000366BD /* Frameworks */, 265 | 23363CB31CCB7D7B000366BD /* Resources */, 266 | ); 267 | buildRules = ( 268 | ); 269 | dependencies = ( 270 | 23363CB71CCB7D7B000366BD /* PBXTargetDependency */, 271 | ); 272 | name = wangyiNewsTests; 273 | productName = wangyiNewsTests; 274 | productReference = 23363CB51CCB7D7B000366BD /* wangyiNewsTests.xctest */; 275 | productType = "com.apple.product-type.bundle.unit-test"; 276 | }; 277 | 23363CBF1CCB7D7B000366BD /* wangyiNewsUITests */ = { 278 | isa = PBXNativeTarget; 279 | buildConfigurationList = 23363CCF1CCB7D7B000366BD /* Build configuration list for PBXNativeTarget "wangyiNewsUITests" */; 280 | buildPhases = ( 281 | 23363CBC1CCB7D7B000366BD /* Sources */, 282 | 23363CBD1CCB7D7B000366BD /* Frameworks */, 283 | 23363CBE1CCB7D7B000366BD /* Resources */, 284 | ); 285 | buildRules = ( 286 | ); 287 | dependencies = ( 288 | 23363CC21CCB7D7B000366BD /* PBXTargetDependency */, 289 | ); 290 | name = wangyiNewsUITests; 291 | productName = wangyiNewsUITests; 292 | productReference = 23363CC01CCB7D7B000366BD /* wangyiNewsUITests.xctest */; 293 | productType = "com.apple.product-type.bundle.ui-testing"; 294 | }; 295 | /* End PBXNativeTarget section */ 296 | 297 | /* Begin PBXProject section */ 298 | 23363C941CCB7D7B000366BD /* Project object */ = { 299 | isa = PBXProject; 300 | attributes = { 301 | LastUpgradeCheck = 0720; 302 | ORGANIZATIONNAME = "蔡晓凡"; 303 | TargetAttributes = { 304 | 23363C9B1CCB7D7B000366BD = { 305 | CreatedOnToolsVersion = 7.2; 306 | }; 307 | 23363CB41CCB7D7B000366BD = { 308 | CreatedOnToolsVersion = 7.2; 309 | TestTargetID = 23363C9B1CCB7D7B000366BD; 310 | }; 311 | 23363CBF1CCB7D7B000366BD = { 312 | CreatedOnToolsVersion = 7.2; 313 | TestTargetID = 23363C9B1CCB7D7B000366BD; 314 | }; 315 | }; 316 | }; 317 | buildConfigurationList = 23363C971CCB7D7B000366BD /* Build configuration list for PBXProject "wangyiNews" */; 318 | compatibilityVersion = "Xcode 3.2"; 319 | developmentRegion = English; 320 | hasScannedForEncodings = 0; 321 | knownRegions = ( 322 | en, 323 | Base, 324 | ); 325 | mainGroup = 23363C931CCB7D7B000366BD; 326 | productRefGroup = 23363C9D1CCB7D7B000366BD /* Products */; 327 | projectDirPath = ""; 328 | projectRoot = ""; 329 | targets = ( 330 | 23363C9B1CCB7D7B000366BD /* wangyiNews */, 331 | 23363CB41CCB7D7B000366BD /* wangyiNewsTests */, 332 | 23363CBF1CCB7D7B000366BD /* wangyiNewsUITests */, 333 | ); 334 | }; 335 | /* End PBXProject section */ 336 | 337 | /* Begin PBXResourcesBuildPhase section */ 338 | 23363C9A1CCB7D7B000366BD /* Resources */ = { 339 | isa = PBXResourcesBuildPhase; 340 | buildActionMask = 2147483647; 341 | files = ( 342 | 23363CED1CCBD336000366BD /* 隶书_GBK.TTF in Resources */, 343 | 23363CEC1CCBD331000366BD /* 方正隶书繁体.ttf in Resources */, 344 | 237123051CCD2FC7007DA36C /* CoBtnCell.xib in Resources */, 345 | 23363CAF1CCB7D7B000366BD /* LaunchScreen.storyboard in Resources */, 346 | 23363CAC1CCB7D7B000366BD /* Assets.xcassets in Resources */, 347 | 23363CAA1CCB7D7B000366BD /* Main.storyboard in Resources */, 348 | ); 349 | runOnlyForDeploymentPostprocessing = 0; 350 | }; 351 | 23363CB31CCB7D7B000366BD /* Resources */ = { 352 | isa = PBXResourcesBuildPhase; 353 | buildActionMask = 2147483647; 354 | files = ( 355 | ); 356 | runOnlyForDeploymentPostprocessing = 0; 357 | }; 358 | 23363CBE1CCB7D7B000366BD /* Resources */ = { 359 | isa = PBXResourcesBuildPhase; 360 | buildActionMask = 2147483647; 361 | files = ( 362 | ); 363 | runOnlyForDeploymentPostprocessing = 0; 364 | }; 365 | /* End PBXResourcesBuildPhase section */ 366 | 367 | /* Begin PBXSourcesBuildPhase section */ 368 | 23363C981CCB7D7B000366BD /* Sources */ = { 369 | isa = PBXSourcesBuildPhase; 370 | buildActionMask = 2147483647; 371 | files = ( 372 | 23363CE51CCBBE6B000366BD /* NewsControllerTableViewController.m in Sources */, 373 | 237122AC1CCC733A007DA36C /* SegmentView.m in Sources */, 374 | 237123001CCD0DF5007DA36C /* BtnCell.m in Sources */, 375 | 23363CD71CCB8BA3000366BD /* BaseTabbarController.m in Sources */, 376 | 23776D411CCE0A0800FE5732 /* FileSave.m in Sources */, 377 | 23363CA41CCB7D7B000366BD /* AppDelegate.m in Sources */, 378 | 23363CA11CCB7D7B000366BD /* main.m in Sources */, 379 | 23363CD41CCB7DD3000366BD /* HomeViewController.m in Sources */, 380 | 23363CDD1CCBB7B6000366BD /* BaseNavigationController.m in Sources */, 381 | 237122F41CCCC724007DA36C /* BtnCollectionView.m in Sources */, 382 | 237123041CCD2FC7007DA36C /* CoBtnCell.m in Sources */, 383 | 237122AF1CCCACDB007DA36C /* ScrollviewHeaderView.m in Sources */, 384 | ); 385 | runOnlyForDeploymentPostprocessing = 0; 386 | }; 387 | 23363CB11CCB7D7B000366BD /* Sources */ = { 388 | isa = PBXSourcesBuildPhase; 389 | buildActionMask = 2147483647; 390 | files = ( 391 | 23363CBA1CCB7D7B000366BD /* wangyiNewsTests.m in Sources */, 392 | ); 393 | runOnlyForDeploymentPostprocessing = 0; 394 | }; 395 | 23363CBC1CCB7D7B000366BD /* Sources */ = { 396 | isa = PBXSourcesBuildPhase; 397 | buildActionMask = 2147483647; 398 | files = ( 399 | 23363CC51CCB7D7B000366BD /* wangyiNewsUITests.m in Sources */, 400 | ); 401 | runOnlyForDeploymentPostprocessing = 0; 402 | }; 403 | /* End PBXSourcesBuildPhase section */ 404 | 405 | /* Begin PBXTargetDependency section */ 406 | 23363CB71CCB7D7B000366BD /* PBXTargetDependency */ = { 407 | isa = PBXTargetDependency; 408 | target = 23363C9B1CCB7D7B000366BD /* wangyiNews */; 409 | targetProxy = 23363CB61CCB7D7B000366BD /* PBXContainerItemProxy */; 410 | }; 411 | 23363CC21CCB7D7B000366BD /* PBXTargetDependency */ = { 412 | isa = PBXTargetDependency; 413 | target = 23363C9B1CCB7D7B000366BD /* wangyiNews */; 414 | targetProxy = 23363CC11CCB7D7B000366BD /* PBXContainerItemProxy */; 415 | }; 416 | /* End PBXTargetDependency section */ 417 | 418 | /* Begin PBXVariantGroup section */ 419 | 23363CA81CCB7D7B000366BD /* Main.storyboard */ = { 420 | isa = PBXVariantGroup; 421 | children = ( 422 | 23363CA91CCB7D7B000366BD /* Base */, 423 | ); 424 | name = Main.storyboard; 425 | sourceTree = ""; 426 | }; 427 | 23363CAD1CCB7D7B000366BD /* LaunchScreen.storyboard */ = { 428 | isa = PBXVariantGroup; 429 | children = ( 430 | 23363CAE1CCB7D7B000366BD /* Base */, 431 | ); 432 | name = LaunchScreen.storyboard; 433 | sourceTree = ""; 434 | }; 435 | /* End PBXVariantGroup section */ 436 | 437 | /* Begin XCBuildConfiguration section */ 438 | 23363CC71CCB7D7B000366BD /* Debug */ = { 439 | isa = XCBuildConfiguration; 440 | buildSettings = { 441 | ALWAYS_SEARCH_USER_PATHS = NO; 442 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; 443 | CLANG_CXX_LIBRARY = "libc++"; 444 | CLANG_ENABLE_MODULES = YES; 445 | CLANG_ENABLE_OBJC_ARC = YES; 446 | CLANG_WARN_BOOL_CONVERSION = YES; 447 | CLANG_WARN_CONSTANT_CONVERSION = YES; 448 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; 449 | CLANG_WARN_EMPTY_BODY = YES; 450 | CLANG_WARN_ENUM_CONVERSION = YES; 451 | CLANG_WARN_INT_CONVERSION = YES; 452 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; 453 | CLANG_WARN_UNREACHABLE_CODE = YES; 454 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; 455 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; 456 | COPY_PHASE_STRIP = NO; 457 | DEBUG_INFORMATION_FORMAT = dwarf; 458 | ENABLE_STRICT_OBJC_MSGSEND = YES; 459 | ENABLE_TESTABILITY = YES; 460 | GCC_C_LANGUAGE_STANDARD = gnu99; 461 | GCC_DYNAMIC_NO_PIC = NO; 462 | GCC_NO_COMMON_BLOCKS = YES; 463 | GCC_OPTIMIZATION_LEVEL = 0; 464 | GCC_PREPROCESSOR_DEFINITIONS = ( 465 | "DEBUG=1", 466 | "$(inherited)", 467 | ); 468 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES; 469 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; 470 | GCC_WARN_UNDECLARED_SELECTOR = YES; 471 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; 472 | GCC_WARN_UNUSED_FUNCTION = YES; 473 | GCC_WARN_UNUSED_VARIABLE = YES; 474 | IPHONEOS_DEPLOYMENT_TARGET = 9.2; 475 | MTL_ENABLE_DEBUG_INFO = YES; 476 | ONLY_ACTIVE_ARCH = YES; 477 | SDKROOT = iphoneos; 478 | TARGETED_DEVICE_FAMILY = "1,2"; 479 | }; 480 | name = Debug; 481 | }; 482 | 23363CC81CCB7D7B000366BD /* Release */ = { 483 | isa = XCBuildConfiguration; 484 | buildSettings = { 485 | ALWAYS_SEARCH_USER_PATHS = NO; 486 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; 487 | CLANG_CXX_LIBRARY = "libc++"; 488 | CLANG_ENABLE_MODULES = YES; 489 | CLANG_ENABLE_OBJC_ARC = YES; 490 | CLANG_WARN_BOOL_CONVERSION = YES; 491 | CLANG_WARN_CONSTANT_CONVERSION = YES; 492 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; 493 | CLANG_WARN_EMPTY_BODY = YES; 494 | CLANG_WARN_ENUM_CONVERSION = YES; 495 | CLANG_WARN_INT_CONVERSION = YES; 496 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; 497 | CLANG_WARN_UNREACHABLE_CODE = YES; 498 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; 499 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; 500 | COPY_PHASE_STRIP = NO; 501 | DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; 502 | ENABLE_NS_ASSERTIONS = NO; 503 | ENABLE_STRICT_OBJC_MSGSEND = YES; 504 | GCC_C_LANGUAGE_STANDARD = gnu99; 505 | GCC_NO_COMMON_BLOCKS = YES; 506 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES; 507 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; 508 | GCC_WARN_UNDECLARED_SELECTOR = YES; 509 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; 510 | GCC_WARN_UNUSED_FUNCTION = YES; 511 | GCC_WARN_UNUSED_VARIABLE = YES; 512 | IPHONEOS_DEPLOYMENT_TARGET = 9.2; 513 | MTL_ENABLE_DEBUG_INFO = NO; 514 | SDKROOT = iphoneos; 515 | TARGETED_DEVICE_FAMILY = "1,2"; 516 | VALIDATE_PRODUCT = YES; 517 | }; 518 | name = Release; 519 | }; 520 | 23363CCA1CCB7D7B000366BD /* Debug */ = { 521 | isa = XCBuildConfiguration; 522 | buildSettings = { 523 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; 524 | CODE_SIGN_IDENTITY = "iPhone Developer"; 525 | GCC_PRECOMPILE_PREFIX_HEADER = YES; 526 | GCC_PREFIX_HEADER = "$(SRCROOT)/wangyiNews/Common.pch"; 527 | HEADER_SEARCH_PATHS = ""; 528 | INFOPLIST_FILE = wangyiNews/Info.plist; 529 | IPHONEOS_DEPLOYMENT_TARGET = 9.0; 530 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; 531 | PRODUCT_BUNDLE_IDENTIFIER = caixiaofan.wangyiNews; 532 | PRODUCT_NAME = "仿网易新闻"; 533 | }; 534 | name = Debug; 535 | }; 536 | 23363CCB1CCB7D7B000366BD /* Release */ = { 537 | isa = XCBuildConfiguration; 538 | buildSettings = { 539 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; 540 | CODE_SIGN_IDENTITY = "iPhone Developer"; 541 | GCC_PRECOMPILE_PREFIX_HEADER = YES; 542 | GCC_PREFIX_HEADER = "$(SRCROOT)/wangyiNews/Common.pch"; 543 | HEADER_SEARCH_PATHS = ""; 544 | INFOPLIST_FILE = wangyiNews/Info.plist; 545 | IPHONEOS_DEPLOYMENT_TARGET = 9.0; 546 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; 547 | PRODUCT_BUNDLE_IDENTIFIER = caixiaofan.wangyiNews; 548 | PRODUCT_NAME = "仿网易新闻"; 549 | }; 550 | name = Release; 551 | }; 552 | 23363CCD1CCB7D7B000366BD /* Debug */ = { 553 | isa = XCBuildConfiguration; 554 | buildSettings = { 555 | BUNDLE_LOADER = "$(TEST_HOST)"; 556 | INFOPLIST_FILE = wangyiNewsTests/Info.plist; 557 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; 558 | PRODUCT_BUNDLE_IDENTIFIER = caixiaofan.wangyiNewsTests; 559 | PRODUCT_NAME = "$(TARGET_NAME)"; 560 | TEST_HOST = "$(BUILT_PRODUCTS_DIR)/wangyiNews.app/wangyiNews"; 561 | }; 562 | name = Debug; 563 | }; 564 | 23363CCE1CCB7D7B000366BD /* Release */ = { 565 | isa = XCBuildConfiguration; 566 | buildSettings = { 567 | BUNDLE_LOADER = "$(TEST_HOST)"; 568 | INFOPLIST_FILE = wangyiNewsTests/Info.plist; 569 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; 570 | PRODUCT_BUNDLE_IDENTIFIER = caixiaofan.wangyiNewsTests; 571 | PRODUCT_NAME = "$(TARGET_NAME)"; 572 | TEST_HOST = "$(BUILT_PRODUCTS_DIR)/wangyiNews.app/wangyiNews"; 573 | }; 574 | name = Release; 575 | }; 576 | 23363CD01CCB7D7B000366BD /* Debug */ = { 577 | isa = XCBuildConfiguration; 578 | buildSettings = { 579 | INFOPLIST_FILE = wangyiNewsUITests/Info.plist; 580 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; 581 | PRODUCT_BUNDLE_IDENTIFIER = caixiaofan.wangyiNewsUITests; 582 | PRODUCT_NAME = "$(TARGET_NAME)"; 583 | TEST_TARGET_NAME = wangyiNews; 584 | USES_XCTRUNNER = YES; 585 | }; 586 | name = Debug; 587 | }; 588 | 23363CD11CCB7D7B000366BD /* Release */ = { 589 | isa = XCBuildConfiguration; 590 | buildSettings = { 591 | INFOPLIST_FILE = wangyiNewsUITests/Info.plist; 592 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; 593 | PRODUCT_BUNDLE_IDENTIFIER = caixiaofan.wangyiNewsUITests; 594 | PRODUCT_NAME = "$(TARGET_NAME)"; 595 | TEST_TARGET_NAME = wangyiNews; 596 | USES_XCTRUNNER = YES; 597 | }; 598 | name = Release; 599 | }; 600 | /* End XCBuildConfiguration section */ 601 | 602 | /* Begin XCConfigurationList section */ 603 | 23363C971CCB7D7B000366BD /* Build configuration list for PBXProject "wangyiNews" */ = { 604 | isa = XCConfigurationList; 605 | buildConfigurations = ( 606 | 23363CC71CCB7D7B000366BD /* Debug */, 607 | 23363CC81CCB7D7B000366BD /* Release */, 608 | ); 609 | defaultConfigurationIsVisible = 0; 610 | defaultConfigurationName = Release; 611 | }; 612 | 23363CC91CCB7D7B000366BD /* Build configuration list for PBXNativeTarget "wangyiNews" */ = { 613 | isa = XCConfigurationList; 614 | buildConfigurations = ( 615 | 23363CCA1CCB7D7B000366BD /* Debug */, 616 | 23363CCB1CCB7D7B000366BD /* Release */, 617 | ); 618 | defaultConfigurationIsVisible = 0; 619 | defaultConfigurationName = Release; 620 | }; 621 | 23363CCC1CCB7D7B000366BD /* Build configuration list for PBXNativeTarget "wangyiNewsTests" */ = { 622 | isa = XCConfigurationList; 623 | buildConfigurations = ( 624 | 23363CCD1CCB7D7B000366BD /* Debug */, 625 | 23363CCE1CCB7D7B000366BD /* Release */, 626 | ); 627 | defaultConfigurationIsVisible = 0; 628 | defaultConfigurationName = Release; 629 | }; 630 | 23363CCF1CCB7D7B000366BD /* Build configuration list for PBXNativeTarget "wangyiNewsUITests" */ = { 631 | isa = XCConfigurationList; 632 | buildConfigurations = ( 633 | 23363CD01CCB7D7B000366BD /* Debug */, 634 | 23363CD11CCB7D7B000366BD /* Release */, 635 | ); 636 | defaultConfigurationIsVisible = 0; 637 | defaultConfigurationName = Release; 638 | }; 639 | /* End XCConfigurationList section */ 640 | }; 641 | rootObject = 23363C941CCB7D7B000366BD /* Project object */; 642 | } 643 | --------------------------------------------------------------------------------