口袋优选

SGPageContentScrollView.h 2.4KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. //
  2. // 如遇到问题或有更好方案,请通过以下方式进行联系
  3. // QQ群:429899752
  4. // Email:kingsic@126.com
  5. // GitHub:https://github.com/kingsic/SGPagingView
  6. //
  7. // SGPageContentScrollView.h
  8. // SGPagingViewExample
  9. //
  10. // Created by kingsic on 2017/7/21.
  11. // Copyright © 2017年 kingsic. All rights reserved.
  12. //
  13. #import <UIKit/UIKit.h>
  14. @class SGPageContentScrollView;
  15. @protocol SGPageContentScrollViewDelegate <NSObject>
  16. @optional
  17. /**
  18. * 联动 SGPageTitleView 的方法
  19. *
  20. * @param pageContentScrollView SGPageContentScrollView
  21. * @param progress SGPageContentScrollView 内部视图滚动时的偏移量
  22. * @param originalIndex 原始视图所在下标
  23. * @param targetIndex 目标视图所在下标
  24. */
  25. - (void)pageContentScrollView:(SGPageContentScrollView *)pageContentScrollView progress:(CGFloat)progress originalIndex:(NSInteger)originalIndex targetIndex:(NSInteger)targetIndex;
  26. /**
  27. * 给 SGPageContentScrollView 所在控制器提供的方法(根据偏移量来处理返回手势的问题)
  28. *
  29. * @param pageContentScrollView SGPageContentScrollView
  30. * @param offsetX SGPageContentScrollView 内部视图的偏移量
  31. */
  32. - (void)pageContentScrollView:(SGPageContentScrollView *)pageContentScrollView offsetX:(CGFloat)offsetX;
  33. @end
  34. @interface SGPageContentScrollView : UIView
  35. /**
  36. * 对象方法创建 SGPageContentScrollView
  37. *
  38. * @param frame frame
  39. * @param parentVC 当前控制器
  40. * @param childVCs 子控制器个数
  41. */
  42. - (instancetype)initWithFrame:(CGRect)frame parentVC:(UIViewController *)parentVC childVCs:(NSArray *)childVCs;
  43. /**
  44. * 类方法创建 SGPageContentScrollView
  45. *
  46. * @param frame frame
  47. * @param parentVC 当前控制器
  48. * @param childVCs 子控制器个数
  49. */
  50. + (instancetype)pageContentScrollViewWithFrame:(CGRect)frame parentVC:(UIViewController *)parentVC childVCs:(NSArray *)childVCs;
  51. /** SGPageContentScrollViewDelegate */
  52. @property (nonatomic, weak) id<SGPageContentScrollViewDelegate> delegatePageContentScrollView;
  53. /** 是否需要滚动 SGPageContentScrollView 默认为 YES;设为 NO 时,不必设置 SGPageContentScrollView 的代理及代理方法 */
  54. @property (nonatomic, assign) BOOL isScrollEnabled;
  55. /** 给外界提供的方法,获取 SGPageTitleView 选中按钮的下标 */
  56. - (void)setPageCententScrollViewCurrentIndex:(NSInteger)currentIndex;
  57. @end