No Description

SGPageContentCollectionView.h 2.6KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. //
  2. // SGPageContentCollectionView.h
  3. // SGPagingViewExample
  4. //
  5. // Created by kingsic on 16/10/6.
  6. // Copyright © 2016年 kingsic. All rights reserved.
  7. //
  8. #import <UIKit/UIKit.h>
  9. @class SGPageContentCollectionView;
  10. @protocol SGPageContentCollectionViewDelegate <NSObject>
  11. @optional
  12. /**
  13. * 联动 SGPageTitleView 的方法
  14. *
  15. * @param pageContentCollectionView SGPageContentCollectionView
  16. * @param progress SGPageContentCollectionView 内部视图滚动时的偏移量
  17. * @param originalIndex 原始视图所在下标
  18. * @param targetIndex 目标视图所在下标
  19. */
  20. - (void)pageContentCollectionView:(SGPageContentCollectionView *)pageContentCollectionView progress:(CGFloat)progress originalIndex:(NSInteger)originalIndex targetIndex:(NSInteger)targetIndex;
  21. /**
  22. * 获取 SGPageContentCollectionView 当前子控制器的下标值
  23. *
  24. * @param pageContentCollectionView SGPageContentCollectionView
  25. * @param index SGPageContentCollectionView 当前子控制器的下标值
  26. */
  27. - (void)pageContentCollectionView:(SGPageContentCollectionView *)pageContentCollectionView index:(NSInteger)index;
  28. /** SGPageContentCollectionView 内容开始拖拽方法 */
  29. - (void)pageContentCollectionViewWillBeginDragging;
  30. /** SGPageContentCollectionView 内容结束拖拽方法 */
  31. - (void)pageContentCollectionViewDidEndDecelerating;
  32. @end
  33. @interface SGPageContentCollectionView : UIView
  34. /**
  35. * 对象方法创建 SGPageContentCollectionView
  36. *
  37. * @param frame frame
  38. * @param parentVC 当前控制器
  39. * @param childVCs 子控制器个数
  40. */
  41. - (instancetype)initWithFrame:(CGRect)frame parentVC:(UIViewController *)parentVC childVCs:(NSArray *)childVCs;
  42. /**
  43. * 类方法创建 SGPageContentCollectionView
  44. *
  45. * @param frame frame
  46. * @param parentVC 当前控制器
  47. * @param childVCs 子控制器个数
  48. */
  49. + (instancetype)pageContentCollectionViewWithFrame:(CGRect)frame parentVC:(UIViewController *)parentVC childVCs:(NSArray *)childVCs;
  50. /** SGPageContentCollectionViewDelegate */
  51. @property (nonatomic, weak) id<SGPageContentCollectionViewDelegate> delegatePageContentCollectionView;
  52. /** 是否需要滚动 SGPageContentCollectionView 默认为 YES;设为 NO 时,不必设置 SGPageContentCollectionView 的代理及代理方法 */
  53. @property (nonatomic, assign) BOOL isScrollEnabled;
  54. /** 点击标题触发动画切换滚动内容,默认为 NO */
  55. @property (nonatomic, assign) BOOL isAnimated;
  56. /** 给外界提供的方法,根据 SGPageTitleView 标题选中时的下标并显示相应的子控制器 */
  57. - (void)setPageContentCollectionViewCurrentIndex:(NSInteger)currentIndex;
  58. @end