WMZPageParam.h 9.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142
  1. //
  2. // WMZPageParam.h
  3. // WMZPageController
  4. //
  5. // Created by wmz on 2019/9/24.
  6. // Copyright © 2019 wmz. All rights reserved.
  7. //
  8. #import "WMZPageConfig.h"
  9. NS_ASSUME_NONNULL_BEGIN
  10. @interface WMZPageParam : NSObject
  11. /* =========================================required==============================================*/
  12. //标题数组 必传
  13. WMZPagePropStatementAndPropSetFuncStatement(strong, WMZPageParam, NSArray*, wTitleArr)
  14. //VC数组 必传
  15. WMZPagePropStatementAndPropSetFuncStatement(strong, WMZPageParam, NSArray*, wControllers)
  16. /* =========================================required==============================================*/
  17. /* =========================================special==============================================*/
  18. //特殊属性 菜单滑动到顶部悬浮 default NO
  19. WMZPagePropStatementAndPropSetFuncStatement(assign, WMZPageParam, BOOL, wTopSuspension)
  20. //导航栏透明度变化 default NO
  21. WMZPagePropStatementAndPropSetFuncStatement(assign, WMZPageParam, BOOL, wNaviAlpha)
  22. //滑动切换 default YES
  23. WMZPagePropStatementAndPropSetFuncStatement(assign, WMZPageParam, BOOL, wScrollCanTransfer)
  24. //头部视图frame从导航栏下方开始 default YES
  25. WMZPagePropStatementAndPropSetFuncStatement(assign, WMZPageParam, BOOL, wFromNavi)
  26. //菜单最右边固定内容是否开启左边阴影 defaulf YES
  27. WMZPagePropStatementAndPropSetFuncStatement(assign, WMZPageParam, BOOL, wMenuFixShadow)
  28. //选中变大 default yes
  29. WMZPagePropStatementAndPropSetFuncStatement(assign, WMZPageParam, BOOL, wMenuAnimalTitleBig)
  30. //开启渐变色 default yes
  31. WMZPagePropStatementAndPropSetFuncStatement(assign, WMZPageParam, BOOL, wMenuAnimalTitleGradient)
  32. //顶部可下拉 default NO
  33. WMZPagePropStatementAndPropSetFuncStatement(assign, WMZPageParam, BOOL, wBounces)
  34. //导航栏整个透明 default NO
  35. WMZPagePropStatementAndPropSetFuncStatement(assign, WMZPageParam, BOOL, wNaviAlphaAll)
  36. //特殊属性 固定在所有子控制器的底部 需要在第一个子控制器实现固定底部协议
  37. WMZPagePropStatementAndPropSetFuncStatement(assign, WMZPageParam, BOOL, wFixFirst)
  38. /* =========================================special==============================================*/
  39. /* =========================================other==================================================*/
  40. //如果滚动的时候偏移量无法吸顶到想要的位置 可以修改此属性(传入正数或者负数) 具体为当前的topOffset + 此wTopOffset 比如传入wTopOffsetSet(-NaviBarHeight) 则偏移量减少了一个导航栏的高度
  41. WMZPagePropStatementAndPropSetFuncStatement(assign, WMZPageParam, CGFloat, wTopOffset)
  42. /* =========================================Menu==================================================*/
  43. /* =========================================Menu==================================================*/
  44. //导航栏颜色 default 默认颜色 如果出现导航栏颜色不准确可以调用此属性设置
  45. WMZPagePropStatementAndPropSetFuncStatement(strong, WMZPageParam, UIColor*, wNaviColor)
  46. //给菜单栏和headView加个背景层 default -
  47. WMZPagePropStatementAndPropSetFuncStatement(copy, WMZPageParam, PageHeadAndMenuBgView, wInsertHeadAndMenuBg)
  48. //给菜单栏加个下划线 default -
  49. WMZPagePropStatementAndPropSetFuncStatement(copy, WMZPageParam, PageHeadAndMenuBgView, wInsertMenuLine)
  50. //自定义菜单栏上的标题
  51. WMZPagePropStatementAndPropSetFuncStatement(copy, WMZPageParam, PageCustomMenuTitle, wCustomMenuTitle)
  52. //自定义选中后菜单栏上的标题
  53. WMZPagePropStatementAndPropSetFuncStatement(copy, WMZPageParam, PageCustomMenuSelectTitle,wCustomMenuSelectTitle)
  54. //默认选中 default 0
  55. WMZPagePropStatementAndPropSetFuncStatement(assign, WMZPageParam, NSInteger, wMenuDefaultIndex)
  56. //菜单最右边固定内容 default nil
  57. WMZPagePropStatementAndPropSetFuncStatement(strong, WMZPageParam, id, wMenuFixRightData)
  58. //菜单最右边固定内容宽度 defaulf 45
  59. WMZPagePropStatementAndPropSetFuncStatement(assign, WMZPageParam, CGFloat, wMenuFixWidth)
  60. //菜单标题动画效果 default PageTitleMenuMove
  61. WMZPagePropStatementAndPropSetFuncStatement(assign, WMZPageParam, PageTitleMenu, wMenuAnimal)
  62. //头部视图 default nil
  63. WMZPagePropStatementAndPropSetFuncStatement(copy, WMZPageParam, PageHeadViewBlock, wMenuHeadView)
  64. //菜单宽度 default 屏幕宽度
  65. WMZPagePropStatementAndPropSetFuncStatement(assign, WMZPageParam, CGFloat, wMenuWidth)
  66. //菜单背景颜色 default ffffff
  67. WMZPagePropStatementAndPropSetFuncStatement(strong, WMZPageParam, UIColor*, wMenuBgColor)
  68. //菜单按钮的左右间距 default 20
  69. WMZPagePropStatementAndPropSetFuncStatement(assign, WMZPageParam, CGFloat, wMenuCellMargin)
  70. //菜单按钮的上下间距 default 20 (可根据此属性改变导航栏的高度)
  71. WMZPagePropStatementAndPropSetFuncStatement(assign, WMZPageParam, CGFloat, wMenuCellPadding)
  72. //菜单按钮的高度 不设置此属性则高度为文字字体大小+wMenuCellPadding
  73. //WMZPagePropStatementAndPropSetFuncStatement(assign, WMZPageParam, CGFloat, wMenuHeight)
  74. //菜单按钮距离顶部的y值 default 0
  75. WMZPagePropStatementAndPropSetFuncStatement(assign, WMZPageParam, CGFloat, wMenuCellMarginY)
  76. //菜单的位置 default PageMenuPositionLeft
  77. WMZPagePropStatementAndPropSetFuncStatement(assign, WMZPageParam, PageMenuPosition, wMenuPosition)
  78. //菜单标题左右间距 default 0
  79. WMZPagePropStatementAndPropSetFuncStatement(assign, WMZPageParam, CGFloat, wMenuTitleOffset)
  80. //菜单标题字体 default 15.0f
  81. WMZPagePropStatementAndPropSetFuncStatement(assign, WMZPageParam, CGFloat, wMenuTitleFont)
  82. //菜单选中标题字体大小 default wMenuTitleFont+1.5
  83. WMZPagePropStatementAndPropSetFuncStatement(assign, WMZPageParam, CGFloat, wMenuTitleSelectFont)
  84. //菜单标题固定宽度 default 文本内容宽度+wMenuCellMargin
  85. WMZPagePropStatementAndPropSetFuncStatement(assign, WMZPageParam, CGFloat, wMenuTitleWidth)
  86. //菜单标题字体粗体 default 0
  87. WMZPagePropStatementAndPropSetFuncStatement(assign, WMZPageParam, CGFloat, wMenuTitleWeight)
  88. //菜单字体颜色 default 333333
  89. WMZPagePropStatementAndPropSetFuncStatement(strong, WMZPageParam, UIColor*, wMenuTitleColor)
  90. //菜单字体选中颜色 default E5193E
  91. WMZPagePropStatementAndPropSetFuncStatement(strong, WMZPageParam, UIColor*, wMenuTitleSelectColor)
  92. //菜单图文位置 default PageBtnPositionTop
  93. WMZPagePropStatementAndPropSetFuncStatement(assign, WMZPageParam, PageBtnPosition, wMenuImagePosition)
  94. //菜单图文位置间距 default 5
  95. WMZPagePropStatementAndPropSetFuncStatement(assign, WMZPageParam, CGFloat, wMenuImageMargin)
  96. //指示器颜色 default E5193E
  97. WMZPagePropStatementAndPropSetFuncStatement(strong, WMZPageParam, UIColor*, wMenuIndicatorColor)
  98. //指示器宽度 default 标题宽度+10
  99. WMZPagePropStatementAndPropSetFuncStatement(assign, WMZPageParam, CGFloat, wMenuIndicatorWidth)
  100. //指示器图片 default nil
  101. WMZPagePropStatementAndPropSetFuncStatement(strong, WMZPageParam, NSString*, wMenuIndicatorImage)
  102. //指示器高度 default k1px
  103. WMZPagePropStatementAndPropSetFuncStatement(assign, WMZPageParam, CGFloat, wMenuIndicatorHeight)
  104. //指示器圆角 default 0
  105. WMZPagePropStatementAndPropSetFuncStatement(assign, WMZPageParam, CGFloat, wMenuIndicatorRadio)
  106. //指示器距离按钮的y值(AQY) default 菜单视图的高度-指示器高度-4/wMenuCellPadding
  107. WMZPagePropStatementAndPropSetFuncStatement(assign, WMZPageParam, CGFloat, wMenuIndicatorY)
  108. /* =========================================Menu===============================================*/
  109. /* =========================================Events==================================================*/
  110. WMZPageParam * PageParam(void);
  111. //右边固定标题点击
  112. WMZPagePropStatementAndPropSetFuncStatement(copy, WMZPageParam, PageClickBlock, wEventFixedClick)
  113. //标题点击
  114. WMZPagePropStatementAndPropSetFuncStatement(copy, WMZPageParam, PageClickBlock, wEventClick)
  115. //控制器开始切换
  116. WMZPagePropStatementAndPropSetFuncStatement(copy, WMZPageParam, PageVCChangeBlock, wEventBeganTransferController)
  117. //控制器结束切换
  118. WMZPagePropStatementAndPropSetFuncStatement(copy, WMZPageParam, PageVCChangeBlock, wEventEndTransferController)
  119. //子控制器滚动(做滚动时候自己的操作) =>开启悬浮有效
  120. WMZPagePropStatementAndPropSetFuncStatement(copy, WMZPageParam, PageChildVCScroll, wEventChildVCDidSroll)
  121. /* =========================================Events==================================================*/
  122. /* =========================================开放的属性==================================================*/
  123. //标题高度
  124. @property(nonatomic,assign)CGFloat titleHeight;
  125. @end
  126. NS_ASSUME_NONNULL_END