UIBarItem(QMUIBadge)

@interface UIBarItem (QMUIBadge)

用于在 UIBarButtonItem(通常用于 UINavigationBar 和 UIToolbar)和 UITabBarItem 上显示未读红点或者未读数。对设置的时机没有要求。所有属性在 QMUIConfigurationTemplate 配置表里均提供对应的默认值设置,如果你不使用配置表,则所有属性的默认值均为 0。

Note

系统对 UIBarButtonItem 和 UITabBarItem 在横竖屏下均会有不同的布局,当你使用本控件时建议分别检查横竖屏下的表现是否正确。

Badge

  • 用数字设置未读数,0表示不显示未读数

    Declaration

    Objective-C

    @property (nonatomic) NSUInteger qmui_badgeInteger;

    Swift

    var qmui_badgeInteger: UInt { get set }
  • 用字符串设置未读数,nil 表示不显示未读数

    Declaration

    Objective-C

    @property (nonatomic, copy, nullable) NSString *qmui_badgeString;

    Swift

    var qmui_badgeString: String? { get set }
  • Undocumented

    Declaration

    Objective-C

    @property(nonatomic, strong, nullable) UIColor *qmui_badgeBackgroundColor

    Swift

    var qmui_badgeBackgroundColor: UIColor? { get set }
  • Undocumented

    Declaration

    Objective-C

    @property(nonatomic, strong, nullable) UIColor *qmui_badgeTextColor

    Swift

    var qmui_badgeTextColor: UIColor? { get set }
  • Undocumented

    Declaration

    Objective-C

    @property(nonatomic, strong, nullable) UIFont *qmui_badgeFont

    Swift

    var qmui_badgeFont: UIFont? { get set }
  • 未读数字与圆圈之间的 padding,会影响最终 badge 的大小。当只有一位数字时,会取宽/高中最大的值作为最终的宽高,以保证整个 badge 是正圆。

    Declaration

    Objective-C

    @property (nonatomic) UIEdgeInsets qmui_badgeContentEdgeInsets;

    Swift

    var qmui_badgeContentEdgeInsets: UIEdgeInsets { get set }
  • 默认 badge 的布局处于 item 正中心,而通过这个属性可以调整 badge 相对于默认原点的偏移,x 正值表示向右,y 正值表示向下。 特别地,对于 UITabBarItem,badge 布局默认处于内部的 imageView 的正中心(而不是 item 的正中心)。

    Declaration

    Objective-C

    @property (nonatomic) CGPoint qmui_badgeCenterOffset;

    Swift

    var qmui_badgeCenterOffset: CGPoint { get set }
  • 默认 badge 的布局处于 item 正中心,而通过这个属性可以调整横屏模式下 badge 相对于默认原点的偏移,x 正值表示向右,y 正值表示向下。 特别地,对于 UITabBarItem,badge 布局默认处于内部的 imageView 的正中心(而不是 item 的正中心)。

    Declaration

    Objective-C

    @property (nonatomic) CGPoint qmui_badgeCenterOffsetLandscape;

    Swift

    var qmui_badgeCenterOffsetLandscape: CGPoint { get set }
  • Undocumented

    Declaration

    Objective-C

    @property(nonatomic, strong, readonly, nullable) QMUILabel *qmui_badgeLabel

    Swift

    var qmui_badgeLabel: QMUILabel? { get }

UpdatesIndicator

  • 控制红点的显隐

    Declaration

    Objective-C

    @property (nonatomic) BOOL qmui_shouldShowUpdatesIndicator;

    Swift

    var qmui_shouldShowUpdatesIndicator: Bool { get set }
  • Undocumented

    Declaration

    Objective-C

    @property(nonatomic, strong, nullable) UIColor *qmui_updatesIndicatorColor

    Swift

    var qmui_updatesIndicatorColor: UIColor? { get set }
  • Undocumented

    Declaration

    Objective-C

    @property(nonatomic, assign) CGSize qmui_updatesIndicatorSize

    Swift

    var qmui_updatesIndicatorSize: CGSize { get set }
  • 默认红点的布局处于 item 正中心,而通过这个属性可以调整红点相对于默认原点的偏移,x 正值表示向右,y 正值表示向下。 特别地,对于 UITabBarItem,红点布局默认处于内部的 imageView 的正中心(而不是 item 的正中心)。

    Declaration

    Objective-C

    @property (nonatomic) CGPoint qmui_updatesIndicatorCenterOffset;

    Swift

    var qmui_updatesIndicatorCenterOffset: CGPoint { get set }
  • 默认红点的布局处于 item 正中心,而通过这个属性可以调整横屏模式下红点相对于默认原点的偏移,x 正值表示向右,y 正值表示向下。 特别地,对于 UITabBarItem,红点布局默认处于内部的 imageView 的正中心(而不是 item 的正中心)。

    Declaration

    Objective-C

    @property (nonatomic) CGPoint qmui_updatesIndicatorCenterOffsetLandscape;

    Swift

    var qmui_updatesIndicatorCenterOffsetLandscape: CGPoint { get set }
  • Undocumented

    Declaration

    Objective-C

    @property(nonatomic, strong, readonly, nullable) UIView *qmui_updatesIndicatorView

    Swift

    var qmui_updatesIndicatorView: UIView? { get }