弹出菜单

AUPopMenu 组件提供导航栏选项卡点击弹出菜单的功能。

AUPopMenu 与 AUFloatMenu 区别在于无底面蒙层,有外围边框,所有布局以居中的形式,分割线固定长度保持居中。该组件由业务控制向上或向下弹出,且业务指定弹出的位置。

效果图

接口说明

  • AUPopMenu.h

      @protocol AUPopMenuDelegate <NSObject>
    
      @optional
      - (void)DidClickPopItemView:(AUPopItemModel *)viewModel;
    
      @end
    
      @interface AUPopMenu : UIView
    
      @property (nonatomic, weak) id<AUPopMenuDelegate> delegate;
    
      /*  datas 是 AUPopItemModel 对象列表
       *  position 方向尖角所在位置
       *  superView 所在父 view
       *  isArchViewUp 方向角的朝向,默认朝下
       */
      - (instancetype)initWithDatas:(NSArray *)datas
                           position:(CGPoint)position
                          superView:(UIView *)superView
                       isArchViewUp:(BOOL)isArchViewUp;
    
      /*  默认带动画展示和隐藏
       *  position 指定方向角的起始位置
       *  superView 描述当前浮层展示在哪个父 view 上
       */
      - (void)showMenu;
    
      //
      - (void)hideMenu;
    
      @end
  • AUPopItemView.h

      @interface AUPopItemView : AUPopItemBaseView
    
      @property (nonatomic, strong) AUIconView *iconView;   // 支持 iconfont 图标
      //@property (nonatomic, strong) UIView *badgeView     // 暂不支持红点
    
      - (instancetype)initWithModel:(AUPopItemModel *)model position:(CGPoint )position;
    
      @end
  • AUPopItemBaseView.h

      //
      @interface AUPopItemBaseView : UIControl
    
      @property (nonatomic, strong) AULabel *titleLabel; //
    
      @end
  • AUPopItemModel.h

      // 对象模型
      @interface AUPopItemModel : NSObject
    
      @property (nonatomic, strong) NSString *titleString;    // 主文案描述
      @property (nonatomic, strong) id iconImage;             // 左侧 icon,可以传 UIImage 对象或者 URL
    
      @end

代码示例

 _menu = [[AUPopMenu alloc] initWithDatas:array position:CGPointMake(CGRectGetMidX(button.frame), CGRectGetMaxY(button.frame)+5) superView:self.view isArchViewUp:YES];
_menu.delegate = self;
[_menu showMenu];