天天省钱快报

WLScrollView.h 2.4KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133
  1. //
  2. // WLScrollView.h
  3. // WLScrollView
  4. //
  5. // Created by 张子豪 on 2017/11/16.
  6. // Copyright © 2017年 张子豪. All rights reserved.
  7. //
  8. #import <UIKit/UIKit.h>
  9. #import "WLSubView.h"
  10. @class WLScrollView;
  11. typedef NS_ENUM(NSInteger) {
  12. WLScrollViewRepeat = 1,
  13. }ScrollType;
  14. @protocol WLScrollViewDelegate<NSObject>
  15. @required
  16. /**
  17. 获取cell总数
  18. @param scrollView WLScrollView
  19. @return 返回cell总数
  20. */
  21. - (NSInteger)numOfContentViewScrollView:(WLScrollView *)scrollView;
  22. /**
  23. 获取复用View
  24. @param scrollView WLScrollView
  25. @param frame 返回View的frame
  26. @param index 当前显示的数据index
  27. @return 返回自定义View
  28. */
  29. - (WLSubView *)scrollView:(WLScrollView *)scrollView subViewFrame:(CGRect)frame cellAtIndex:(NSInteger)index;
  30. @optional
  31. /**
  32. 点击响应
  33. @param scrollView WLScrollView
  34. @param index 当前点击事件所对应的数据index
  35. */
  36. - (void)scrollView:(WLScrollView *)scrollView didSelectedAtIndex:(NSInteger)index;
  37. /**
  38. 当前位置的数据index
  39. @param scrollView WLScrollView
  40. @param index 当前显示所对应的数据index
  41. */
  42. - (void)scrollView:(WLScrollView *)scrollView didCurrentCellAtIndex:(NSInteger)index;
  43. @end
  44. @interface WLScrollView : UIView
  45. @property (nonatomic,weak)id<WLScrollViewDelegate> delegate;
  46. @property (nonatomic,assign)ScrollType scrollViewType;
  47. /**
  48. 是否启用动画 默认yes
  49. */
  50. @property (nonatomic,assign)BOOL isAnimation;
  51. /**
  52. 边缘是否限制滚动 默认NO
  53. */
  54. @property (nonatomic,assign)BOOL isEnableMargin;
  55. /**
  56. 子view所占比例 建议 0.6~1.0
  57. */
  58. @property (nonatomic,assign)CGFloat scale;
  59. /**
  60. 子view中内容据两边距离 建议 0~20
  61. */
  62. @property (nonatomic,assign)CGFloat marginX;//左边距
  63. /**
  64. 子view动画效果放大比例 建议 1~1.2
  65. */
  66. @property (nonatomic,assign)CGFloat maxAnimationScale;//最大缩放比例
  67. /**
  68. 子view动画效果缩小比例 建议 0.6~1
  69. */
  70. @property (nonatomic,assign)CGFloat minAnimationScale;//最小缩放比例
  71. /**
  72. 开始渲染
  73. */
  74. - (void)starRender;
  75. /**
  76. 复用
  77. @param identifier 复用标识
  78. @return 返回复用池中自定义View
  79. */
  80. - (WLSubView *)dequeueReuseCellWithIdentifier:(NSString *)identifier;
  81. /**
  82. 设置起始位置
  83. @param index 数据源起始位置index
  84. */
  85. - (void)setIndex:(NSInteger)index;
  86. /**
  87. 获取当前显示的view
  88. */
  89. - (CGRect)getSubFrame;
  90. @end