QMUIPopupMenuButtonItem

@interface QMUIPopupMenuButtonItem : QMUIPopupMenuBaseItem

配合 QMUIPopupMenuView 使用,用于可点击的菜单项。 支持显示图片和标题,以及点击事件的回调。 可在 QMUIPopupMenuView 里统一修改菜单项的样式,如果某个菜单项需要特殊调整,可通过 QMUIPopupMenuButtonItem.button 拿到 view 并进行调整。

  • item 里的图片,默认在左边,也可通过 item.button.imagePosition 修改图片的位置

    Declaration

    Objective-C

    @property (nonatomic, strong, nullable) UIImage *image;

    Swift

    var image: UIImage? { get set }
  • 每个 item 都通过一个 button 来显示内容,可直接修改 button 的相关属性达到自定义的效果。

    Declaration

    Objective-C

    @property (nonatomic, strong, readonly, nonnull) QMUIButton *button;

    Swift

    var button: QMUIButton { get }
  • item 被点击时的背景色,默认为 TableViewCellSelectedBackgroundColor,与列表的 cell 点击背景色一致。

    Declaration

    Objective-C

    @property (nonatomic, strong, nullable) UIColor *highlightedBackgroundColor;

    Swift

    var highlightedBackgroundColor: UIColor? { get set }
  • item 里图片和文字之间的间距,默认为 6,只有同时存在图片和文字时这个属性才会生效。

    Declaration

    Objective-C

    @property (nonatomic) CGFloat imageMarginRight;

    Swift

    var imageMarginRight: CGFloat { get set }
  • 推荐的初始化方法

    Declaration

    Objective-C

    + (nonnull instancetype)
        itemWithImage:(nullable UIImage *)image
                title:(nullable NSString *)title
              handler:(nullable void (^)(QMUIPopupMenuButtonItem *_Nonnull))handler;

    Swift

    convenience init(image: UIImage?, title: String?, handler: ((QMUIPopupMenuButtonItem) -> Void)? = nil)

    Parameters

    image

    item 的图片

    title

    item 的文字

    handler

    item 点击时的事件回调,需要在这里自行隐藏 aMenuView

    Return Value

    item