├── .gitignore ├── LICENSE ├── README.md ├── XHNewsFramework.podspec └── XHNewsFramework ├── Resources ├── MenuBackground@2x.png ├── info_offline_flash.png ├── info_offline_flash@2x.png ├── leftShadow@2x.png ├── logo@2x.png ├── managerMenuButton@2x.png ├── order_back.png ├── page_state_highlight@2x.png ├── page_state_normal@2x.png ├── refresh.png ├── refresh@2x.png ├── rightShadow@2x.png ├── statusbar_close.png ├── statusbar_close@2x.png ├── 列表图片@2x.jpg └── 图片@2x.jpg └── XHNewsFramework.framework ├── Headers ├── Resources ├── Versions ├── A │ ├── Headers │ │ ├── NSTimer+Addition.h │ │ ├── UIScrollView+XHVisibleCenterScroll.h │ │ ├── XHBaseViewController.h │ │ ├── XHColumnItemManagerViewController.h │ │ ├── XHColumnItemView.h │ │ ├── XHContentView.h │ │ ├── XHEdittingScrollView.h │ │ ├── XHFountionCommon.h │ │ ├── XHFriendlyLoadingView.h │ │ ├── XHHTTPClient.h │ │ ├── XHIndicatorView.h │ │ ├── XHMenu.h │ │ ├── XHMenuButton.h │ │ ├── XHNewsCommentsViewController.h │ │ ├── XHNewsContainerViewController.h │ │ ├── XHNewsDetail.h │ │ ├── XHNewsDetailViewController.h │ │ ├── XHOperationNetworkKit.h │ │ ├── XHPageControl.h │ │ ├── XHPageIndexPath.h │ │ ├── XHParallaxNavigationController.h │ │ ├── XHProgressStatusBar.h │ │ ├── XHScrollBannerView.h │ │ └── XHScrollMenu.h │ ├── Resources │ │ ├── Info.plist │ │ └── en.lproj │ │ │ └── InfoPlist.strings │ └── XHNewsFramework └── Current └── XHNewsFramework /.gitignore: -------------------------------------------------------------------------------- 1 | # Xcode 2 | .DS_Store 3 | */build/* 4 | *.pbxuser 5 | !default.pbxuser 6 | *.mode1v3 7 | !default.mode1v3 8 | *.mode2v3 9 | !default.mode2v3 10 | *.perspectivev3 11 | !default.perspectivev3 12 | xcuserdata 13 | profile 14 | *.moved-aside 15 | DerivedData 16 | .idea/ 17 | *.hmap 18 | *.xccheckout 19 | 20 | #CocoaPods 21 | Pods 22 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2014 JackTeam 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy of 6 | this software and associated documentation files (the "Software"), to deal in 7 | the Software without restriction, including without limitation the rights to 8 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 9 | the Software, and to permit persons to whom the Software is furnished to do so, 10 | subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 17 | FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 18 | COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 19 | IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 20 | CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ![image](https://github.com/JackTeam/XHNewsFrameworkExample/raw/master/Screenshots/XHNewsFramewrokPanGestureRecognizer.gif) 2 | ![image](https://github.com/JackTeam/XHNewsFrameworkExample/raw/master/Screenshots/XHNewsFrameworkPulDownUpRefresh.gif) 3 | 4 | ## 建议 5 | 如果您觉得这个库值得你看下去,那请不要那么急着,如看到什么不懂,或者想知道实现原理,移步看wiki的文档[XHNewsFramework文档](https://github.com/JackTeam/XHNewsFrameworkExample/wiki/XHNewsFramework%E6%A1%86%E6%9E%B6%E6%96%87%E6%A1%A3) 6 | 7 | ## 中文: 8 | XHNewsFramework是一个快速的集成和开发框架的新闻应用程序,在仿网易新闻应App的基础上完成的框架。 9 | 有以下功能: 10 | 1、支持重用嵌套在ScrollView里面的tableView. 11 | 2、支持快速水平滑动scrollView. 12 | 3、完美解决UIScrollView滚动和侧滑框架的手势冲突. 13 | 4、支持新闻分栏ScrollView控制内容scrollView,以及内容scrollView可以控制新闻分栏ScrollView. 14 | 5、支持新闻分栏目管理. 15 | 6、让业务逻辑和UI交互完全独立. 16 | 7、一套完整而又独立的新闻框架,有着革命性的UI交互体验. 17 | 18 | 后续会加入网络访问、多任务多线程管理TableView中的图片下载以及缓存 19 | 20 | 21 | ## English: 22 | XHNewsFramework is a fast integration and development of the framework of news app, base on Netease App build. 23 | Has the following features: 24 | 1、support reuse nested inside the ScrollView tableView. 25 | 2、support rapid horizontal sliding scrollView. 26 | 3、perfect solution UIScrollView rolling and framework of sideslip gestures to conflict. 27 | 4、support the ScrollView control content ScrollView news columns, ScrollView can control the ScrollView news columns and content. 28 | 5、support, news program management. 29 | 6、make the business logic and UI interaction fully independent. 30 | 7、a complete and independent news frame, a revolutionary UI interaction experience. 31 | 32 | Subsequent will join network access, multitasking, multithreading management the TableView pictures download and cache 33 | 34 | ## License 35 | 36 | 中文: XHNewsFramework 是在MIT协议下使用的,可以在LICENSE文件里面找到相关的使用协议信息. 37 | 38 | English: XHNewsFramework is acailable under the MIT license, see the LICENSE file for more information. 39 | 40 | ======================= 41 | ## 须知 42 | 中文:如果您在您的项目中使用开源组件,请给我们发[电子邮件](mailto:xhzengAIB@gmail.com?subject=From%20GitHub%20XHScreenCaptureSDKSimple)告诉我们您的应用程序的名称。 43 | 44 | ## Instructions 45 | 46 | English:If you use open source components in your project, please [Email us](mailto:xhzengAIB@gmail.com?subject=From%20GitHub%20XHNewsFrameworkExample) to tell us the name of your application. 47 | 48 | -------------------------------------------------------------------------------- /XHNewsFramework.podspec: -------------------------------------------------------------------------------- 1 | Pod::Spec.new do |s| 2 | s.name = "XHNewsFramework" 3 | s.version = "0.1.0" 4 | s.summary = "XHNewsFramework is a fast integration and development of the framework of news app, base on Netease App build." 5 | s.homepage = "https://github.com/JackTeam/XHNewsFramework" 6 | s.license = "MIT" 7 | s.authors = { "xhzengAIB" => "xhzengAIB@gmail.com" } 8 | s.source = { :git => "https://github.com/JackTeam/XHNewsFramework.git", :tag => "v0.1.0" } 9 | s.frameworks = 'Foundation', 'CoreGraphics', 'UIKit', 'XHNewsFramework' 10 | s.platform = :ios, '5.0' 11 | s.source_files = 'XHNewsFramework/XHNewsFramework.framework/Versions/A/Headers/*.h' 12 | s.preserve_paths = 'XHNewsFramework/XHNewsFramework.framework/*' 13 | s.xcconfig = { 'FRAMEWORK_SEARCH_PATHS' => '"$(PODS_ROOT)/XHNewsFramework"' } 14 | s.resources = 'XHNewsFramework/Resources/*' 15 | s.requires_arc = true 16 | end 17 | -------------------------------------------------------------------------------- /XHNewsFramework/Resources/MenuBackground@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JackTeam/XHNewsFramework/1f47a37607321ebf62f802baf5c54fbba77ace82/XHNewsFramework/Resources/MenuBackground@2x.png -------------------------------------------------------------------------------- /XHNewsFramework/Resources/info_offline_flash.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JackTeam/XHNewsFramework/1f47a37607321ebf62f802baf5c54fbba77ace82/XHNewsFramework/Resources/info_offline_flash.png -------------------------------------------------------------------------------- /XHNewsFramework/Resources/info_offline_flash@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JackTeam/XHNewsFramework/1f47a37607321ebf62f802baf5c54fbba77ace82/XHNewsFramework/Resources/info_offline_flash@2x.png -------------------------------------------------------------------------------- /XHNewsFramework/Resources/leftShadow@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JackTeam/XHNewsFramework/1f47a37607321ebf62f802baf5c54fbba77ace82/XHNewsFramework/Resources/leftShadow@2x.png -------------------------------------------------------------------------------- /XHNewsFramework/Resources/logo@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JackTeam/XHNewsFramework/1f47a37607321ebf62f802baf5c54fbba77ace82/XHNewsFramework/Resources/logo@2x.png -------------------------------------------------------------------------------- /XHNewsFramework/Resources/managerMenuButton@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JackTeam/XHNewsFramework/1f47a37607321ebf62f802baf5c54fbba77ace82/XHNewsFramework/Resources/managerMenuButton@2x.png -------------------------------------------------------------------------------- /XHNewsFramework/Resources/order_back.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JackTeam/XHNewsFramework/1f47a37607321ebf62f802baf5c54fbba77ace82/XHNewsFramework/Resources/order_back.png -------------------------------------------------------------------------------- /XHNewsFramework/Resources/page_state_highlight@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JackTeam/XHNewsFramework/1f47a37607321ebf62f802baf5c54fbba77ace82/XHNewsFramework/Resources/page_state_highlight@2x.png -------------------------------------------------------------------------------- /XHNewsFramework/Resources/page_state_normal@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JackTeam/XHNewsFramework/1f47a37607321ebf62f802baf5c54fbba77ace82/XHNewsFramework/Resources/page_state_normal@2x.png -------------------------------------------------------------------------------- /XHNewsFramework/Resources/refresh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JackTeam/XHNewsFramework/1f47a37607321ebf62f802baf5c54fbba77ace82/XHNewsFramework/Resources/refresh.png -------------------------------------------------------------------------------- /XHNewsFramework/Resources/refresh@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JackTeam/XHNewsFramework/1f47a37607321ebf62f802baf5c54fbba77ace82/XHNewsFramework/Resources/refresh@2x.png -------------------------------------------------------------------------------- /XHNewsFramework/Resources/rightShadow@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JackTeam/XHNewsFramework/1f47a37607321ebf62f802baf5c54fbba77ace82/XHNewsFramework/Resources/rightShadow@2x.png -------------------------------------------------------------------------------- /XHNewsFramework/Resources/statusbar_close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JackTeam/XHNewsFramework/1f47a37607321ebf62f802baf5c54fbba77ace82/XHNewsFramework/Resources/statusbar_close.png -------------------------------------------------------------------------------- /XHNewsFramework/Resources/statusbar_close@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JackTeam/XHNewsFramework/1f47a37607321ebf62f802baf5c54fbba77ace82/XHNewsFramework/Resources/statusbar_close@2x.png -------------------------------------------------------------------------------- /XHNewsFramework/Resources/列表图片@2x.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JackTeam/XHNewsFramework/1f47a37607321ebf62f802baf5c54fbba77ace82/XHNewsFramework/Resources/列表图片@2x.jpg -------------------------------------------------------------------------------- /XHNewsFramework/Resources/图片@2x.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JackTeam/XHNewsFramework/1f47a37607321ebf62f802baf5c54fbba77ace82/XHNewsFramework/Resources/图片@2x.jpg -------------------------------------------------------------------------------- /XHNewsFramework/XHNewsFramework.framework/Headers: -------------------------------------------------------------------------------- 1 | Versions/Current/Headers -------------------------------------------------------------------------------- /XHNewsFramework/XHNewsFramework.framework/Resources: -------------------------------------------------------------------------------- 1 | Versions/Current/Resources -------------------------------------------------------------------------------- /XHNewsFramework/XHNewsFramework.framework/Versions/A/Headers/NSTimer+Addition.h: -------------------------------------------------------------------------------- 1 | // 2 | // NSTimer+Addition.h 3 | // HUAJIENewsiPhoneSDK 4 | // 5 | // Created by 曾 宪华 on 14-3-16. 6 | // Copyright (c) 2014年 曾宪华 QQ群: (142557668) QQ:543413507 Gmail:xhzengAIB@gmail.com. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface NSTimer (Addition) 12 | 13 | - (void)pauseTimer; 14 | - (void)resumeTimer; 15 | - (void)resumeTimerAfterTimeInterval:(NSTimeInterval)interval; 16 | 17 | @end 18 | -------------------------------------------------------------------------------- /XHNewsFramework/XHNewsFramework.framework/Versions/A/Headers/UIScrollView+XHVisibleCenterScroll.h: -------------------------------------------------------------------------------- 1 | // 2 | // UIScrollView+XHVisibleCenterScroll.h 3 | // XHScrollMenu 4 | // 5 | // Created by 曾 宪华 on 14-3-9. 6 | // Copyright (c) 2014年 曾宪华 QQ群: (142557668) QQ:543413507 Gmail:xhzengAIB@gmail.com. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface UIScrollView (XHVisibleCenterScroll) 12 | 13 | - (void)scrollRectToVisibleCenteredOn:(CGRect)visibleRect 14 | animated:(BOOL)animated; 15 | 16 | @end 17 | -------------------------------------------------------------------------------- /XHNewsFramework/XHNewsFramework.framework/Versions/A/Headers/XHBaseViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // XHBaseViewController.h 3 | // XHNewsFramework 4 | // 5 | // Created by 曾 宪华 on 14-1-30. 6 | // Copyright (c) 2014年 曾宪华 开发团队(http://iyilunba.com ) 本人QQ:543413507 本人QQ群(142557668). All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface XHBaseViewController : UIViewController 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /XHNewsFramework/XHNewsFramework.framework/Versions/A/Headers/XHColumnItemManagerViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // XHColumnItemManagerViewController.h 3 | // XHNewsFramework 4 | // 5 | // Created by 曾 宪华 on 14-1-26. 6 | // Copyright (c) 2014年 曾宪华 开发团队(http://iyilunba.com ) 本人QQ:543413507 本人QQ群(142557668). All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @class XHColumnItemManagerViewController; 12 | @protocol XHColumnItemManagerViewControllerDelegate 13 | 14 | - (void)managerDidFinish:(XHColumnItemManagerViewController *)columnItemManagerViewController; 15 | 16 | @end 17 | 18 | @interface XHColumnItemManagerViewController : UIViewController 19 | @property (nonatomic, assign) id delegate; 20 | @property (nonatomic, strong) NSArray *subscribed; // 已经订阅分类 21 | @property (nonatomic, strong) NSArray *unSubscribed; // 在本地或者网络搜索回来的未订阅分类 22 | @end 23 | -------------------------------------------------------------------------------- /XHNewsFramework/XHNewsFramework.framework/Versions/A/Headers/XHColumnItemView.h: -------------------------------------------------------------------------------- 1 | // 2 | // XHColumnItemView.h 3 | // XHNewsFramework 4 | // 5 | // Created by 曾 宪华 on 14-1-27. 6 | // Copyright (c) 2014年 曾宪华 开发团队(http://iyilunba.com ) 本人QQ:543413507 本人QQ群(142557668). All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @class XHColumnItemView; 12 | @protocol XHColumnItemViewDelegate 13 | 14 | - (void)didSelected:(XHColumnItemView *)columnItemView; 15 | 16 | @end 17 | 18 | @class XHMenu; 19 | @interface XHColumnItemView : UIView 20 | @property (nonatomic, strong) XHMenu *item; 21 | @property (nonatomic, assign) id delegate; 22 | - (id)initWithFrame:(CGRect)frame target:(id)target action:(SEL)action isTapHandle:(BOOL)isTap; 23 | @end 24 | -------------------------------------------------------------------------------- /XHNewsFramework/XHNewsFramework.framework/Versions/A/Headers/XHContentView.h: -------------------------------------------------------------------------------- 1 | // 2 | // XHContentView.h 3 | // XHNewsFramework 4 | // 5 | // Created by 曾 宪华 on 14-1-24. 6 | // Copyright (c) 2014年 曾宪华 开发团队(http://iyilunba.com ) 本人QQ:543413507 本人QQ群(142557668). All rights reserved. 7 | // 8 | 9 | #import 10 | #import "XHPageIndexPath.h" 11 | 12 | @class XHContentView; 13 | @protocol XHContentViewDelegate 14 | - (NSInteger)contentView:(XHContentView *)contentView numberOfRowsInPage:(NSInteger)page section:(NSInteger)section; 15 | - (UITableViewCell *)contentView:(XHContentView *)contentView cellForRowAtIndexPath:(XHPageIndexPath *)indexPath; 16 | @optional 17 | - (void)contentView:(XHContentView *)contentView didSelectRowAtIndexPath:(XHPageIndexPath *)indexPath; 18 | - (CGFloat)contentView:(XHContentView *)contentView heightForRowAtIndexPath:(XHPageIndexPath *)indexPath; 19 | - (NSInteger)contentView:(XHContentView *)contentView numberOfSectionsInPage:(NSInteger)pageNumber; 20 | - (NSString*)contentView:(XHContentView *)contentView titleForHeaderInPage:(NSInteger)pageNumber section:(NSInteger)section; 21 | - (UIView *)contentView:(XHContentView *)contentView viewForHeaderInPage:(NSInteger)pageNumber section:(NSInteger)section; 22 | - (void)contentView:(XHContentView *)contentView didScroll:(UIScrollView *)scrollView; 23 | - (CGFloat)contentView:(XHContentView *)contentView heightForHeaderInSection:(NSInteger)section; 24 | @end 25 | 26 | @protocol XHContentViewRefreshingDelegate 27 | 28 | - (void)pullDownRefreshingAction:(XHContentView *)contentView; 29 | - (void)pullUpRefreshingAction:(XHContentView *)contentView; 30 | 31 | @end 32 | 33 | @interface XHContentView : UIView 34 | 35 | @property (nonatomic, assign) CGFloat transitionDuration; // default is 0.4 36 | @property (nonatomic, assign) CGFloat tableViewContentInsetTop; 37 | @property (nonatomic, assign) NSInteger pageNumber; 38 | @property (nonatomic, strong) UITableView *tableView; 39 | @property (nonatomic, unsafe_unretained) id delegate; 40 | @property (nonatomic, unsafe_unretained) id refreshControlDelegate; 41 | @property (nonatomic, copy) NSString *identifier; 42 | 43 | @property (nonatomic, assign) BOOL pullDownRefreshed; // default is NO 44 | @property (nonatomic, assign) BOOL pullUpRefreshed; // default is NO 45 | 46 | #pragma mark init 47 | - (id)initWithIdentifier:(NSString *)identifier; 48 | 49 | #pragma mark reset 50 | - (void)reset; 51 | 52 | #pragma mark view state 53 | - (void)pageWillAppear; 54 | - (void)pageDidAppear; 55 | - (void)pageWillDisappear; 56 | 57 | #pragma mark animation 58 | - (CGAffineTransform)transformForOrientation; 59 | - (void)showContentView:(BOOL)show animated:(BOOL)animated; 60 | - (void)shouldWiggle:(BOOL)wiggle; 61 | 62 | #pragma mark offset save/restore 63 | @property (nonatomic, assign) BOOL restored; // default is NO 64 | - (void)saveTableviewOffset; 65 | - (void)restoreTableviewOffset; 66 | - (void)removeTableviewOffset; 67 | 68 | #pragma mark add and remove panels 69 | - (void)addContentViewWithAnimation:(BOOL)animate; 70 | - (void)removeContentViewWithAnimation:(BOOL)animate; 71 | 72 | #pragma mark page controll 73 | - (void)showNextContentView; 74 | - (void)showPreviousContentView; 75 | 76 | #pragma mark - 刷新的 77 | - (void)endPullDownRefreshing; 78 | - (void)endPullUpRefreshing; 79 | 80 | @end 81 | -------------------------------------------------------------------------------- /XHNewsFramework/XHNewsFramework.framework/Versions/A/Headers/XHEdittingScrollView.h: -------------------------------------------------------------------------------- 1 | // 2 | // XHEdittingScrollView.h 3 | // XHNewsFramework 4 | // 5 | // Created by 曾 宪华 on 14-1-24. 6 | // Copyright (c) 2014年 曾宪华 开发团队(http://iyilunba.com ) 本人QQ:543413507 本人QQ群(142557668). All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface XHEdittingScrollView : UIScrollView 12 | @property (nonatomic, assign) BOOL isEditing; 13 | @end 14 | -------------------------------------------------------------------------------- /XHNewsFramework/XHNewsFramework.framework/Versions/A/Headers/XHFountionCommon.h: -------------------------------------------------------------------------------- 1 | // 2 | // XHFountionCommon.h 3 | // XHNewsFramework 4 | // 5 | // Created by 曾 宪华 on 14-1-24. 6 | // Copyright (c) 2014年 曾宪华 开发团队(http://iyilunba.com ) 本人QQ:543413507 本人QQ群(142557668). All rights reserved. 7 | // 8 | 9 | #import 10 | #import 11 | 12 | #define BUNDLE_IMAGE(_file) [UIImage imageWithContentsOfFile:[[[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"XHNewsFramework.bundle"] stringByAppendingPathComponent:[NSString stringWithFormat:@"%@%@.png", _file, ((int)[[UIScreen mainScreen] scale]-1) ? @"@2x" : @""]]] 13 | 14 | #ifdef __IPHONE_6_0 // iOS6 and later 15 | # define UITextAlignmentCenter NSTextAlignmentCenter 16 | # define UITextAlignmentLeft NSTextAlignmentLeft 17 | # define UITextAlignmentRight NSTextAlignmentRight 18 | # define UILineBreakModeTailTruncation NSLineBreakByTruncatingTail 19 | # define UILineBreakModeMiddleTruncation NSLineBreakByTruncatingMiddle 20 | # define UILineBreakModeCharacterWrap NSLineBreakByWordWrapping 21 | #endif 22 | 23 | #if __IPHONE_OS_VERSION_MAX_ALLOWED > __IPHONE_6_1 24 | #define IF_IOS7_OR_GREATER(...) \ 25 | if (kCFCoreFoundationVersionNumber > kCFCoreFoundationVersionNumber_iOS_6_1) \ 26 | { \ 27 | __VA_ARGS__ \ 28 | } 29 | #else 30 | #define IF_IOS7_OR_GREATER(...) 31 | #endif 32 | 33 | @interface XHFountionCommon : NSObject 34 | 35 | + (BOOL)iOS7; 36 | 37 | + (CGFloat)getAdapterHeight; 38 | 39 | + (void)setOfflineProgress:(CGFloat)progress; 40 | 41 | @end 42 | -------------------------------------------------------------------------------- /XHNewsFramework/XHNewsFramework.framework/Versions/A/Headers/XHFriendlyLoadingView.h: -------------------------------------------------------------------------------- 1 | // 2 | // XHFriendlyLoadingView.h 3 | // XHFriendlyLoadingView 4 | // 5 | // Created by 曾 宪华 on 13-12-31. 6 | // Copyright (c) 2013年 曾宪华 开发团队(http://iyilunba.com ) 本人QQ:543413507. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | typedef void(^ReloadButtonClickedCompleted)(UIButton *sender); 12 | 13 | @interface XHFriendlyLoadingView : UIView 14 | @property (nonatomic, copy) ReloadButtonClickedCompleted reloadButtonClickedCompleted; 15 | 16 | + (instancetype)shareFriendlyLoadingView; 17 | 18 | - (void)showFriendlyLoadingViewWithText:(NSString *)text loadingAnimated:(BOOL)animated; 19 | 20 | /** 21 | * 隐藏页面加载动画及信息提示 22 | */ 23 | - (void)hideLoadingView; 24 | 25 | /** 26 | * 重新加载提示 27 | * @param reloadString 要显示的提示字符串 28 | */ 29 | - (void)showReloadViewWithText:(NSString *)reloadString; 30 | 31 | @end 32 | -------------------------------------------------------------------------------- /XHNewsFramework/XHNewsFramework.framework/Versions/A/Headers/XHHTTPClient.h: -------------------------------------------------------------------------------- 1 | // 2 | // XHHTTPClient.h 3 | // XHOperationNetworkKit 4 | // 5 | // Created by 曾 宪华 on 14-1-4. 6 | // Copyright (c) 2014年 曾宪华 开发团队(http://iyilunba.com ) 本人QQ:543413507. All rights reserved. 7 | // 8 | 9 | #import "XHOperationNetworkKit.h" 10 | 11 | #define XHHTTPClientTimeoutInterval 30 12 | 13 | static NSString *const pailixiuHomeURL = @"http://www.pailixiu.com"; 14 | 15 | @interface XHHTTPClient : XHOperationNetworkKit 16 | 17 | + (void)GETPath:(NSString *)urlString parameters:(NSDictionary *)parameters jsonSuccessHandler:(XHJSONSuccessHandler)jsonSuccessHandler 18 | failureHandler:(XHHTTPFailureHandler)failureHandler; 19 | 20 | + (void)POSTPath:(NSString *)urlString parameters:(NSDictionary *)parameters jsonSuccessHandler:(XHJSONSuccessHandler)jsonSuccessHandler 21 | failureHandler:(XHHTTPFailureHandler)failureHandler; 22 | 23 | + (void)DELETEPath:(NSString *)urlString parameters:(NSDictionary *)parameters jsonSuccessHandler:(XHJSONSuccessHandler)jsonSuccessHandler 24 | failureHandler:(XHHTTPFailureHandler)failureHandler; 25 | 26 | 27 | @end 28 | -------------------------------------------------------------------------------- /XHNewsFramework/XHNewsFramework.framework/Versions/A/Headers/XHIndicatorView.h: -------------------------------------------------------------------------------- 1 | // 2 | // XHIndicatorView.h 3 | // XHScrollMenu 4 | // 5 | // Created by 曾 宪华 on 14-3-8. 6 | // Copyright (c) 2014年 曾宪华 QQ群: (142557668) QQ:543413507 Gmail:xhzengAIB@gmail.com. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | #define kXHIndicatorViewHeight 3 12 | 13 | @interface XHIndicatorView : UIView 14 | 15 | + (instancetype)initIndicatorView; 16 | 17 | @property (nonatomic, assign) CGFloat indicatorWidth; 18 | 19 | @end 20 | -------------------------------------------------------------------------------- /XHNewsFramework/XHNewsFramework.framework/Versions/A/Headers/XHMenu.h: -------------------------------------------------------------------------------- 1 | // 2 | // XHMenu.h 3 | // XHScrollMenu 4 | // 5 | // Created by 曾 宪华 on 14-3-8. 6 | // Copyright (c) 2014年 曾宪华 QQ群: (142557668) QQ:543413507 Gmail:xhzengAIB@gmail.com. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface XHMenu : NSObject 12 | 13 | @property (nonatomic, copy) NSString *title; 14 | @property (nonatomic, strong) UIFont *titleFont; 15 | @property (nonatomic, strong) UIColor *titleNormalColor; 16 | @property (nonatomic, strong) UIColor *titleSelectedColor; 17 | @property (nonatomic, strong) UIColor *titleHighlightedColor; 18 | 19 | @property (nonatomic, strong) UIImage *normalImage; 20 | @property (nonatomic, strong) UIImage *hightlightedImage; 21 | @property (nonatomic, strong) UIImage *selectedImage; 22 | 23 | @property (nonatomic, copy) NSString *dataSourcesStringUrl; 24 | @property (nonatomic, strong) NSMutableArray *dataSources; 25 | 26 | 27 | @end 28 | -------------------------------------------------------------------------------- /XHNewsFramework/XHNewsFramework.framework/Versions/A/Headers/XHMenuButton.h: -------------------------------------------------------------------------------- 1 | // 2 | // XHMenuButton.h 3 | // XHScrollMenu 4 | // 5 | // Created by 曾 宪华 on 14-3-9. 6 | // Copyright (c) 2014年 曾宪华 QQ群: (142557668) QQ:543413507 Gmail:xhzengAIB@gmail.com. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface XHMenuButton : UIButton 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /XHNewsFramework/XHNewsFramework.framework/Versions/A/Headers/XHNewsCommentsViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // XHNewsCommentsViewController.h 3 | // XHNewsFramework 4 | // 5 | // Created by 曾 宪华 on 14-1-29. 6 | // Copyright (c) 2014年 曾宪华 开发团队(http://iyilunba.com ) 本人QQ:543413507 本人QQ群(142557668). All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface XHNewsCommentsViewController : UIViewController 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /XHNewsFramework/XHNewsFramework.framework/Versions/A/Headers/XHNewsContainerViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // XHNewsContainerViewController.h 3 | // XHNewsFramework 4 | // 5 | // Created by 曾 宪华 on 14-1-24. 6 | // Copyright (c) 2014年 曾宪华 开发团队(http://iyilunba.com ) 本人QQ:543413507 本人QQ群(142557668). All rights reserved. 7 | // 8 | 9 | #import 10 | #import "XHBaseViewController.h" 11 | #import "XHEdittingScrollView.h" 12 | #import "XHContentView.h" 13 | 14 | @interface XHNewsContainerViewController : XHBaseViewController 15 | 16 | 17 | #pragma mark - Custom UI 18 | // top 19 | @property (nonatomic, assign) BOOL isShowTopScrollToolBar; // default is YES 20 | @property (nonatomic, strong) UIImage *topScrollViewToolBarBackgroundImage; // default is nil 21 | @property (nonatomic, strong) UIColor *topScrollViewToolBarBackgroundColor; // default is [UIColor colorWithWhite:0.902 alpha:1.000] 22 | @property (nonatomic, strong) UIImage *managerButtonBackgroundImage; // default is arrow image 23 | @property (nonatomic, strong) UIColor *indicatorColor; // default is redColor 24 | @property (nonatomic, assign) CGFloat topScrollViewToolBarHieght; // default is 36 25 | @property (nonatomic, strong) UIImage *leftShadowImage; 26 | @property (nonatomic, strong) UIImage *rightShadowImage; 27 | @property (nonatomic, assign) BOOL isShowManagerButton; // default is NO 28 | 29 | // mid 30 | @property (nonatomic, strong) UIImage *midContentLogoImage; // default is netEase logo 31 | // contentScrollView 32 | @property (nonatomic, strong) UIColor *contentScrollViewBackgroundColor; // default is [UIColor whiteColor] 33 | @property (nonatomic, assign) CGFloat contentViewPaddingX; // default is 0 34 | @property (nonatomic, assign) CGFloat contentViewContentInsetTop; // default is 0 35 | #pragma mark frame and sizes 36 | - (CGRect)scrollViewFrame; 37 | - (CGSize)contentViewSize; 38 | #pragma mark - scroll the contentView 39 | - (void)goToContentView:(NSInteger)index; 40 | 41 | 42 | #pragma mark - DataSource 43 | @property (nonatomic, assign) int currentPage; 44 | @property (nonatomic, assign) int lastDisplayedPage; 45 | @property (nonatomic, strong) NSArray *items; 46 | @property (nonatomic, strong) NSArray *unItems; 47 | - (NSInteger)numberOfVisibleContentViews; 48 | - (NSInteger)numberOfContentViews; 49 | - (void)reloadDataSource; 50 | 51 | 52 | #pragma mark - Reuse 53 | - (XHContentView *)dequeueReusablePageWithIdentifier:(NSString*)identifier; 54 | - (XHContentView *)contentViewAtPage:(NSInteger)page; 55 | 56 | 57 | #pragma mark - Custom Action 58 | // 管理menu item的按钮事件,由你自己发挥 59 | - (void)didOpenManagerItems; 60 | 61 | #pragma mark - 手势冲突解决 62 | @property (nonatomic, assign) BOOL enableSideMenu; // default is YES 63 | // 用于解决手势冲突的问题,内部已经解决细节的问题,只需要直接传递就可以,因为内部判断好了向左还是向右, 64 | - (void)receiveScrollViewPanGestureRecognizerHandle:(UIPanGestureRecognizer *)scrollViewPanGestureRecognizer; 65 | 66 | @end 67 | -------------------------------------------------------------------------------- /XHNewsFramework/XHNewsFramework.framework/Versions/A/Headers/XHNewsDetail.h: -------------------------------------------------------------------------------- 1 | // 2 | // XHNewsDetail.h 3 | // XHNewsFramework 4 | // 5 | // Created by 曾 宪华 on 14-1-29. 6 | // Copyright (c) 2014年 曾宪华 开发团队(http://iyilunba.com ) 本人QQ:543413507 本人QQ群(142557668). All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface XHNewsDetail : NSObject 12 | @property (nonatomic, copy) NSString *newsTitle; 13 | @property (nonatomic, copy) NSString *newsContent; 14 | @end 15 | -------------------------------------------------------------------------------- /XHNewsFramework/XHNewsFramework.framework/Versions/A/Headers/XHNewsDetailViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // XHNewsDetailViewController.h 3 | // XHNewsFramework 4 | // 5 | // Created by 曾 宪华 on 14-1-29. 6 | // Copyright (c) 2014年 曾宪华 开发团队(http://iyilunba.com ) 本人QQ:543413507 本人QQ群(142557668). All rights reserved. 7 | // 8 | 9 | #import 10 | #import "XHNewsDetail.h" 11 | 12 | @interface XHNewsDetailViewController : UIViewController 13 | @property (nonatomic, strong) XHNewsDetail *newsDetail; 14 | @end 15 | -------------------------------------------------------------------------------- /XHNewsFramework/XHNewsFramework.framework/Versions/A/Headers/XHOperationNetworkKit.h: -------------------------------------------------------------------------------- 1 | // 2 | // XHOperationNetworkKit.h 3 | // XHOperationNetworkKit 4 | // 5 | // Created by 曾 宪华 on 14-1-2. 6 | // Copyright (c) 2014年 曾宪华 开发团队(http://iyilunba.com ) 本人QQ:543413507. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | typedef void (^XHHTTPProgressHandler)(CGFloat progress, unsigned long long total); 12 | typedef void (^XHJSONSuccessHandler)(id json); 13 | typedef void (^XHHTTPSuccessHandler)(NSData *responseData, NSURLResponse *response); 14 | typedef void (^XHHTTPFailureHandler)(NSData *responseData, NSURLResponse *response, NSError *error); 15 | 16 | @interface XHOperationNetworkKit : NSOperation 17 | 18 | + (NSOperationQueue *)queue; 19 | 20 | - (id)initWithRequest:(NSURLRequest *)request; 21 | - (id)initWithRequest:(NSURLRequest *)request 22 | jsonSuccessHandler:(XHJSONSuccessHandler)jsonSuccessHandler 23 | failureHandler:(XHHTTPFailureHandler)failureHandler; 24 | - (id)initWithRequest:(NSURLRequest *)request 25 | successHandler:(XHHTTPSuccessHandler)successHandler 26 | failureHandler:(XHHTTPFailureHandler)failureHandler; 27 | 28 | 29 | - (void)setSuccessHandler:(XHHTTPSuccessHandler)successHandler; 30 | - (void)setFailureHandler:(XHHTTPFailureHandler)failureHandler; 31 | - (void)setProgressHandler:(XHHTTPProgressHandler)progressHandler; 32 | 33 | @end 34 | -------------------------------------------------------------------------------- /XHNewsFramework/XHNewsFramework.framework/Versions/A/Headers/XHPageControl.h: -------------------------------------------------------------------------------- 1 | // 2 | // HUAJIEPageControl.h 3 | // HUAJIENewsiPhoneSDK 4 | // 5 | // Created by 曾 宪华 on 14-3-16. 6 | // Copyright (c) 2014年 曾宪华 QQ群: (142557668) QQ:543413507 Gmail:xhzengAIB@gmail.com. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | typedef void(^DidSelectDotAtIndex)(NSUInteger dotIndex); 12 | 13 | @interface XHPageControl : UIView 14 | 15 | @property (nonatomic, copy) DidSelectDotAtIndex didSelectDotAtIndex; 16 | @property (nonatomic, strong) UIImage *normalDotImage; 17 | @property (nonatomic, strong) UIImage *highlightedDotImage; 18 | @property (nonatomic, assign) NSUInteger pageNumbers; // degault is 3 19 | @property (nonatomic, assign) NSInteger currentSelectedIndex; // default is 0 20 | @property (nonatomic, assign) CGSize dotSize; // default is 6 21 | @property (nonatomic, assign) CGFloat dotPadding; // default is 6 22 | @property (nonatomic, assign) NSTimeInterval animationDuration; // default is 0 23 | 24 | - (void)reloadData; 25 | 26 | @end 27 | -------------------------------------------------------------------------------- /XHNewsFramework/XHNewsFramework.framework/Versions/A/Headers/XHPageIndexPath.h: -------------------------------------------------------------------------------- 1 | // 2 | // XHPageIndexPath.h 3 | // XHNewsFramework 4 | // 5 | // Created by 曾 宪华 on 14-1-24. 6 | // Copyright (c) 2014年 曾宪华 开发团队(http://iyilunba.com ) 本人QQ:543413507 本人QQ群(142557668). All rights reserved. 7 | // 8 | 9 | #import 10 | #import 11 | 12 | @interface XHPageIndexPath : NSObject 13 | @property (nonatomic, assign) NSInteger page; 14 | @property (nonatomic, assign) NSInteger row; 15 | @property (nonatomic, assign) NSInteger section; 16 | 17 | - (instancetype)initWithPage:(NSInteger)page row:(NSInteger)row section:(NSInteger)section; 18 | + (instancetype)panelIndexPathForPage:(NSInteger)page row:(NSInteger)row section:(NSInteger)section ; 19 | + (id)panelIndexPathForPage:(NSInteger)page indexPath:(NSIndexPath*)indexPath; 20 | @end 21 | -------------------------------------------------------------------------------- /XHNewsFramework/XHNewsFramework.framework/Versions/A/Headers/XHParallaxNavigationController.h: -------------------------------------------------------------------------------- 1 | // 2 | // XHParallaxNavigationController.h 3 | // iyilunba 4 | // 5 | // Created by 曾 宪华 on 13-12-4. 6 | // Copyright (c) 2013年 曾 宪华 开发团队(http://iyilunba.com ). All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | // 背景视图起始frame.x 12 | #define startX -200; 13 | @class XHParallaxNavigationController; 14 | typedef void(^ParallaxNavigationControllerMovieBegin)(XHParallaxNavigationController *parallaxNavigationController); 15 | typedef void(^ParallaxNavigationControllerMovieEnd)(XHParallaxNavigationController *parallaxNavigationController); 16 | typedef void(^ParallaxNavigationControllerMovieCancel)(XHParallaxNavigationController *parallaxNavigationController); 17 | 18 | @interface XHParallaxNavigationController : UINavigationController 19 | // 静态栏 默认是显示的 20 | @property (nonatomic, assign) BOOL hideStatusBar; 21 | // 默认为特效开启 22 | @property (nonatomic, assign) BOOL canDragBack; 23 | // 默认为毛玻璃不开启 24 | @property (nonatomic, assign) BOOL isBlurry; 25 | // 默认为有背景阴影 26 | @property (nonatomic, assign) BOOL shadowEffect; 27 | 28 | @property (nonatomic, copy) ParallaxNavigationControllerMovieBegin parallaxNavigationControllerMovieBegin; 29 | @property (nonatomic, copy) ParallaxNavigationControllerMovieEnd parallaxNavigationControllerMovieEnd; 30 | @property (nonatomic, copy) ParallaxNavigationControllerMovieCancel parallaxNavigationControllerMovieCancel; 31 | @end 32 | 33 | @interface UIViewController (XHParallaxNavigationController) 34 | - (void)addParallaxNavigationControllerMovieBegin:(ParallaxNavigationControllerMovieBegin)parallaxNavigationControllerMovieBegin; 35 | - (void)addParallaxNavigationControllerMovieEnd:(ParallaxNavigationControllerMovieEnd)parallaxNavigationControllerMovieEnd; 36 | - (void)addParallaxNavigationControllerMovieCancel:(ParallaxNavigationControllerMovieCancel)parallaxNavigationControllerMovieCancel; 37 | - (XHParallaxNavigationController *)xh_parallaxNavigationController; 38 | @end -------------------------------------------------------------------------------- /XHNewsFramework/XHNewsFramework.framework/Versions/A/Headers/XHProgressStatusBar.h: -------------------------------------------------------------------------------- 1 | // 2 | // XHProgressStatusBar.h 3 | // XHNewsFramework 4 | // 5 | // Created by 曾 宪华 on 14-1-26. 6 | // Copyright (c) 2014年 曾宪华 开发团队(http://iyilunba.com ) 本人QQ:543413507 本人QQ群(142557668). All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | typedef void(^ProgressStatusBarCloseBlock)(void); 12 | @interface XHProgressStatusBar : UIWindow { 13 | 14 | } 15 | 16 | @property (nonatomic, strong) UILabel *loadingLabel; 17 | @property (nonatomic, strong) UIView *loadingView; 18 | @property (nonatomic, strong) UIImageView *flashView; 19 | @property (nonatomic, strong) UIButton *closeButton; 20 | @property (nonatomic, strong) NSTimer *timer; 21 | @property (nonatomic, copy) ProgressStatusBarCloseBlock progressStatusBarCloseCompled; 22 | 23 | @property (nonatomic, assign) CGFloat progress; 24 | 25 | /* 26 | * progress: [0, 1] 27 | */ 28 | - (void)setProgress:(CGFloat)progress; 29 | - (void)setLoadingMsg:(NSString *)msg; 30 | - (void)show; 31 | - (void)hide; 32 | 33 | @end 34 | -------------------------------------------------------------------------------- /XHNewsFramework/XHNewsFramework.framework/Versions/A/Headers/XHScrollBannerView.h: -------------------------------------------------------------------------------- 1 | // 2 | // HUAJIEScrollBannerView.h 3 | // HUAJIENewsiPhoneSDK 4 | // 5 | // Created by 曾 宪华 on 14-3-16. 6 | // Copyright (c) 2014年 曾宪华 QQ群: (142557668) QQ:543413507 Gmail:xhzengAIB@gmail.com. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | #define kHUAJIEFocusLabelWidth 240 12 | #define kHUAJIEFocusLabelHeight 35 13 | 14 | typedef NSUInteger(^TotalPagesCount)(void); 15 | typedef UIView *(^FetchContentViewAtIndex)(NSUInteger pageIndex); 16 | typedef void(^DidSelectCompled)(NSUInteger selectIndex); 17 | typedef NSString *(^FetchFocusTitle)(NSUInteger pageIndex); 18 | 19 | @interface XHScrollBannerView : UIView 20 | 21 | @property (nonatomic , readonly) UIScrollView *scrollView; 22 | 23 | // 数据源:获取总的page个数 24 | @property (nonatomic , copy) TotalPagesCount totalPagesCount; 25 | 26 | // 数据源:获取第pageIndex个位置的contentView 27 | @property (nonatomic , copy) FetchContentViewAtIndex fetchContentViewAtIndex; 28 | 29 | // 数据源:获取第pageIndex个位置的焦点标题 30 | @property (nonatomic, copy) FetchFocusTitle fetchFocusTitle; 31 | 32 | // 当点击的时候,执行的block 33 | @property (nonatomic , copy) DidSelectCompled didSelectCompled; 34 | 35 | @property (nonatomic, assign) NSTimeInterval animationDuration; 36 | 37 | - (id)initWithFrame:(CGRect)frame; 38 | - (id)initWithFrame:(CGRect)frame animationDuration:(NSTimeInterval)animationDuration; 39 | 40 | @end 41 | -------------------------------------------------------------------------------- /XHNewsFramework/XHNewsFramework.framework/Versions/A/Headers/XHScrollMenu.h: -------------------------------------------------------------------------------- 1 | // 2 | // XHScrollMenu.h 3 | // XHScrollMenu 4 | // 5 | // Created by 曾 宪华 on 14-3-8. 6 | // Copyright (c) 2014年 曾宪华 QQ群: (142557668) QQ:543413507 Gmail:xhzengAIB@gmail.com. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "XHIndicatorView.h" 11 | #import "XHMenu.h" 12 | #import "XHMenuButton.h" 13 | 14 | #define kXHMenuButtonPaddingX 30 15 | #define kXHMenuButtonStarX 8 16 | 17 | #define kXHScrollMenuHeight 36 18 | 19 | @class XHScrollMenu; 20 | 21 | @protocol XHScrollMenuDelegate 22 | 23 | - (void)scrollMenuDidSelected:(XHScrollMenu *)scrollMenu menuIndex:(NSUInteger)selectIndex; 24 | - (void)scrollMenuDidManagerSelected:(XHScrollMenu *)scrollMenu; 25 | 26 | @end 27 | 28 | @interface XHScrollMenu : UIView 29 | 30 | @property (nonatomic, assign) id delegate; 31 | 32 | // UI 33 | @property (nonatomic, strong) UIScrollView *scrollView; 34 | @property (nonatomic, strong) XHIndicatorView *indicatorView; 35 | @property (nonatomic, strong) UIImage *leftShadowImage; 36 | @property (nonatomic, strong) UIImage *rightShadowImage; 37 | 38 | - (void)setBackgroundImage:(UIImage *)backgroundImage; 39 | - (void)setContainerBackgroundColor:(UIColor *)backgroundColor; 40 | - (void)setManagerButtonImage:(UIImage *)managerButtonImage; 41 | - (void)setIndicatorColor:(UIColor *)indicatorColor; 42 | 43 | // DataSource 44 | @property (nonatomic, strong) NSArray *menus; 45 | 46 | // select 47 | @property (nonatomic, assign) NSUInteger selectedIndex; // default is 0 48 | 49 | - (void)setSelectedIndex:(NSUInteger)selectedIndex animated:(BOOL)aniamted calledDelegate:(BOOL)calledDelgate; 50 | 51 | - (CGRect)rectForSelectedItemAtIndex:(NSUInteger)index; 52 | 53 | - (XHMenuButton *)menuButtonAtIndex:(NSUInteger)index; 54 | 55 | // reload dataSource 56 | - (void)reloadData; 57 | 58 | - (id)initWithFrame:(CGRect)frame showedManagerButton:(BOOL)showed; 59 | 60 | @end 61 | -------------------------------------------------------------------------------- /XHNewsFramework/XHNewsFramework.framework/Versions/A/Resources/Info.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JackTeam/XHNewsFramework/1f47a37607321ebf62f802baf5c54fbba77ace82/XHNewsFramework/XHNewsFramework.framework/Versions/A/Resources/Info.plist -------------------------------------------------------------------------------- /XHNewsFramework/XHNewsFramework.framework/Versions/A/Resources/en.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JackTeam/XHNewsFramework/1f47a37607321ebf62f802baf5c54fbba77ace82/XHNewsFramework/XHNewsFramework.framework/Versions/A/Resources/en.lproj/InfoPlist.strings -------------------------------------------------------------------------------- /XHNewsFramework/XHNewsFramework.framework/Versions/A/XHNewsFramework: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JackTeam/XHNewsFramework/1f47a37607321ebf62f802baf5c54fbba77ace82/XHNewsFramework/XHNewsFramework.framework/Versions/A/XHNewsFramework -------------------------------------------------------------------------------- /XHNewsFramework/XHNewsFramework.framework/Versions/Current: -------------------------------------------------------------------------------- 1 | A -------------------------------------------------------------------------------- /XHNewsFramework/XHNewsFramework.framework/XHNewsFramework: -------------------------------------------------------------------------------- 1 | Versions/Current/XHNewsFramework --------------------------------------------------------------------------------