IRPopupMenu - A custom popup menu for iOS

Irons163
3 min readMar 13, 2020

--

IRPopupMenu

This project is copy and change from YBPopupMenu. Implemet custom arrow icon.

  • Custom popupMenu

效果图

cocoapods支持

  • 只需在Podfile中加入pod 'IRPopupMenu', '~> 1.0.0'pod install即可

最近更新

  • 开放部分私有属性,如titlesimages,tableView,minSpace等等
  • 点击回调方法有更新(旧的还可以用)
  • 增加可自定义Cell的回调,遇到奇葩需求可以自定义设置(具体使用方法可参考demo)

上次更新

  • 代码全部重构,不过完全兼容原先的API接口
  • 增加了IRPopupMenuPriorityDirection属性,可以设置箭头的第一优先级方向,当将要超过屏幕时会自动反转方向
  • 增加了rectCorner属性,可以自定义圆角(当反转时会自动镜像的反转圆角)
  • 可以设置边框颜色,边框粗细等
  • 支持传入NSAttributedString

注意

  1. 当箭头优先级是IRPopupMenuPriorityDirectionLeft/IRPopupMenuPriorityDirectionRight/IRPopupMenuPriorityDirectionNone时需手动设置arrowPosition来设置箭头在该行的位置
  2. 边框宽度不宜过粗,影响美观
  3. 推荐使用新的实例化接口

使用方法

  • #import "IRPopupMenu.h"
  • 方法一 (旧)
  • IRPopupMenu * popupMenu = [IRPopupMenu showRelyOnView:sender titles:TITLES icons:ICONS menuWidth:120 delegate:self];
    popupMenu.dismissOnSelected = NO;
    popupMenu.isShowShadow = YES;
    popupMenu...;
  • 方法二 (推荐)
  • [IRPopupMenu showAtPoint:p titles:TITLES icons:nil menuWidth:110 otherSettings:^(IRPopupMenu *popupMenu) {
    popupMenu.dismissOnSelected = NO;
    popupMenu.isShowShadow = YES;
    popupMenu.delegate = self;
    popupMenu.offset = 10;
    popupMenu.type = IRPopupMenuTypeDark;
    popupMenu.rectCorner = UIRectCornerBottomLeft | UIRectCornerBottomRight;
    popupMenu...;
    }];

版本支持

  • xcode7.0+

--

--

No responses yet