BadgeControl 1.2.1

BadgeControl 1.2.1

Robin Krenecky 维护。



  • Robin Krenecky

defaultboomall

BadgeControl

  • 将 BadgeController附加到任何UIView的子类,并轻松控制徽章。
  • 可以自定义徽章的大小、位置、背景颜色、文本颜色、边框宽度、边框颜色和动画。

设置

使用 CocoaPods(iOS 9及以后版本)设置

  • 如果您正在使用 CocoaPods,请在 Podfile 中添加以下文本,并运行 pod install
    pod 'BadgeControl'

添加源代码(iOS 9及更高版本)

使用方法

import BadgeControl添加到您的源代码中(除非您使用了文件设置方法)。

只需将BadgeController附加到您的UIView(或其子类)。

let badge = BadgeController(for: myUIView)

添加一个空徽章并使用动画将其显示出来。

badge.addOrReplaceCurrent(animated: true)

添加一个带文本的徽章并使用动画将其显示出来。

badge.addOrReplaceCurrent(with: "1", animated: true)

从视图中移除徽章。

badge.remove(animated: true)

简单地增加或减少徽章上的值(如果它是数字),并使用动画将其显示出来。

badge.increment(animated: true)
badge.decrement(animated: true)

如果您不希望徽章已存在于视图中时进行动画,可以将animateOnlyWhenBadgeIsNotYetPresent = true设置为true。

自定义

您可以自定义徽章的文本字体、背景颜色、文本颜色、边框宽度、边框颜色、大小、居中位置和动画。

文字字体,背景色,文字颜色,边框宽度,边框颜色和大小

badge.badgeTextFont = UIFont.systemFont(ofSize: 15)
badge.badgeBackgroundColor = UIColor.blue
badge.badgeTextColor = UIColor.yellow
badge.borderWidth = 3 // in px
badge.borderColor = UIColor.black // black is default
badge.badgeHeight = 20 // badge will have height of 20px

中心位置

您可以选择以下中心位置:upperLeftCorner,upperRightCorner,lowerLeftCorner,lowerRightCorner。

您还可以通过调用.custom(x: Double, y: Double)来选择自定义位置。

badge.centerPosition = .upperLeftCorner
badge.centerPosition = .custom(x: 10, y: 20)

动画

您可以选择以下动画之一

默认动画

default

badge.animation = BadgeAnimations.default
左右动画

default

badge.animation = BadgeAnimations.leftRight
左右动画

default

badge.animation = BadgeAnimations.rightLeft
渐显动画

default

badge.animation = BadgeAnimations.fadeIn
滚动动画

default

badge.animation = BadgeAnimations.rolling
自定义

您也可以提供自己的类型为 (UIView)-> Void 的动画。

badge.animation = { badgeView in
    ...
  }

初始化

您可以使用这个初始化器并使用默认值

public init(for view: UIView,
            in centerPosition: BadgeCenterPosition = .upperRightCorner,
            badgeBackgroundColor: UIColor = .red,
            badgeTextColor: UIColor = .white,
            badgeTextFont: UIFont? = nil,
            borderWidth: CGFloat = 0.0,
            borderColor: UIColor = .black,
            animation: ((UIView) -> Void)? = BadgeAnimations.defaultAnimation,
            badgeHeight: Int? = nil
            animateOnlyWhenBadgeIsNotYetPresent: Bool = false)

许可

BadgeControl 采用 MIT 许可证 发布。

欢迎反馈

如果您发现了错误或想改进BadgeControl,欢迎创建问题。