JXCategoryTitleVerticalZoomView.h 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. //
  2. // JXCategoryTitleVerticalZoomView.h
  3. // JXCategoryView
  4. //
  5. // Created by jiaxin on 2019/2/14.
  6. // Copyright © 2019 jiaxin. All rights reserved.
  7. //
  8. #import "JXCategoryTitleView.h"
  9. NS_ASSUME_NONNULL_BEGIN
  10. /**
  11. 垂直方向的缩放值范围:minVerticalFontScale~maxVerticalFontScale;
  12. 垂直方向左边距范围:minVerticalContentEdgeInsetLeft~maxVerticalContentEdgeInsetLeft,用于达到第一个cell左对齐的效果;
  13. 垂直方向cellSpacing范围:minVerticalCellSpacing~maxVerticalCellSpacing,用于达到缩小时cell更加紧凑
  14. 根据UI设计师给你的参数,去多次尝试设置上面的值来达到同样的效果。多尝试几次就知道每个属性设置之后的效果。
  15. */
  16. @interface JXCategoryTitleVerticalZoomView : JXCategoryTitleView
  17. @property (nonatomic, assign) CGFloat currentVerticalScale; //当前垂直方向的缩放基准值
  18. @property (nonatomic, assign) CGFloat maxVerticalFontScale; //垂直方向最大的缩放值
  19. @property (nonatomic, assign) CGFloat minVerticalFontScale; //垂直方向最小的缩放值
  20. @property (nonatomic, assign) CGFloat maxVerticalContentEdgeInsetLeft; //垂直方向左右水平滚动时,最大的左边距值,用于达到左边距对齐的效果
  21. @property (nonatomic, assign) CGFloat minVerticalContentEdgeInsetLeft; //垂直方向左右水平滚动时,最小的左边距值,用于达到左边距对齐的效果
  22. @property (nonatomic, assign) CGFloat maxVerticalCellSpacing; //垂直方向最大的cellSpacing
  23. @property (nonatomic, assign) CGFloat minVerticalCellSpacing; //垂直方向最小的cellSpacing
  24. @property (nonatomic, assign, readonly, getter=isHorizontalZoomTransitionAnimating) BOOL horizontalZoomTransitionAnimating; //是否正在水平缩放动画
  25. /**
  26. 当前列表滚动时,根据当前垂直方向categoryView高度变化的百分比,刷新布局
  27. @param percent 当前垂直方向categoryView高度变化百分比
  28. */
  29. - (void)listDidScrollWithVerticalHeightPercent:(CGFloat)percent;
  30. @end
  31. NS_ASSUME_NONNULL_END