DYBadge 2.0.5

DYBadge 2.0.5

Dominik Butz 维护。



DYBadge 2.0.5

  • 作者
  • dominikbutz

DYBadge

Version License Platform Carthage compatible

DYBadge(用 Swift 编写)是一个 UILabel 子类,可以添加到任何 UIView 和其子类的子视图中(不包括 UIImageView)。如果在运行时badge的字符串值从 nil(或"nullish")更改为有效的字符串值,badge将以弹窗效果出现。如果它切换回"nullish"值,它将缩小并消失。该类还包括一个 UIButton 类函数(扩展)来创建一个具有图像和文本的按钮,该文本位于图像下方。 从 2.0 版本开始,已删除 xOffset 和 yOffset 值,以及 badgeFont、badgeColor 和 badgeTextColor。只需使用 UILabel 属性来设置这些值,例如 textColor、backgroundColor 等。(请勿直接使用 myBadge.text,而是使用 badgeString)。

示例

要查看示例项目,只需克隆仓库或下载 zip 文件。

功能

  • 在代码中创建或从 Interface Builder 获取 UILabel,并更改其类为 DYBadge
  • 创建一个包含图像和位于图像下方的按钮标题的 UIButton,并添加 DYBadge(见 DYBadge.swift 文件中的扩展)。

安装

建议使用 Cocoapods 或 Carthage 进行安装。

Carthage:只需将以下行添加到 Cartfile 中。

github "DominikButz/DYBadge" ~> 2.0

请查看下面的版本历史以获取当前版本。

之后,在您项目的根目录中运行 "carthage update DYBadge --platform iOS"。按照github上的carthage项目中的步骤操作(点击上面的carthage兼容徽章)。

或者,通过Cocoapods安装

target '[project name]' do pod 'DYBadge', '~> 2.0 end

确保将DYBadge导入到您的视图控制器子类中

import DYBadge

使用方法

请查看以下示例。

代码示例:创建带有DYBadge的按钮

 @IBOutlet weak var firstButton: UIButton! 
 

 override func viewDidLoad() {
   super.viewDidLoad()
   

     let frame = CGRect(x: self.firstButton.frame.size.width - 3.0, y: -5.0, width: 8.0, height: 5.0)
        let firstBadge = DYBadge(frame: frame)
        
   let font = UIFont(name: "HelveticaNeue-Bold", size: 10.0)!   
   firstBadge.font = font
   firstBadge.backgroundColor = UIColor.red
   firstBadge.textColor = UIColor.white
   
 // set a start value if required
   firstBadge.badgeString = "7"
   
   self.firstButton.addSubview(firstBadge)

  
   
 }

DYBadgeButton example

代码示例:创建带有图像和标题的按钮

 @IBOutlet weak var secondButtonItem: UIBarButtonItem!

 override func viewDidLoad() {
	    super.viewDidLoad()
	    
	     let buttonFrame =  CGRect(x: 0, y: 0, width: 25.0, height: 26.0)
    
        let filterButton  = UIButton.createImageTitleButton(image:  imageLiteral(resourceName: "filterButton"), title: "Filter", font: font, frame: buttonFrame, tintColor: self.view.tintColor)      // see extension
	        
		 let secondBadge = DYBadge(frame: secondBadgeFrame)
       secondBadge.backgroundColor = self.view.tintColor
       secondBadge.textColor = UIColor.white
       secondBadge.font = font
       filterButton.addSubview(secondBadge)

       self.secondButtonItem.customView = filterButton
	}

DYBadgeButton example

Cocoapods 1.5错误解决方案。

可能会显示错误消息(无法加载可设计项...未找到合适的图像),并且某些故事板元素可能无法正确绘制。这不会阻止Xcode构建您的代码。为了删除这个讨厌的错误,将以下代码添加到podfile的末尾

// 解决Cocoapods v.1.5问题 #7606的工作区

post_install do |installer| installer.pods_project.build_configurations.each do |config| config.build_settings.delete('CODE_SIGNING_ALLOWED') config.build_settings.delete('CODE_SIGNING_REQUIRED') end end

变更日志

版本 2.0.4

进行了一些小的修正,设置更新为 Swift 5.0

版本 2.0.4

更改了动画函数 animateBadgeTransform 中的弹簧阻尼值。之前的设置将使设备或在模拟器上设置徽章值为空类型值时冻结(Xcode 10 / iOS 12)。

版本 2.0.3

重新添加了可设计、可检视的关键词。请参阅上面的错误解决方案。

版本 2.0.2

由于 Interface Builder 中的错误消息,移除了可设计、可检视关键词。

版本 2.0.1

在 podspec 文件中纠正了源文件路径。

版本 2.0

已删除 xOffset 和 yOffset 值,以及 badgeFont、badgeColor 和 badgeTextColor。只需使用 UILabel 属性(字体、颜色、背景颜色)来设置这些值。

版本 1.1.1

小规模构建修复。

版本 1.1

徽章现在默认放置在父视图的原点。相应调整您的 offsetX 和 offsetY 值 -参见上面的示例。

版本 1.0.3

为 carthage 修复的公共头部

版本 1.0.2

添加 podfile,更新 readme

版本 1.0.1

示例中缺少源文件 - 修复

版本 1.0

查看已弃用的项目 DYBadgeButton 以获取以前的版本信息。

作者

[email ;protected]

许可

DYBadge 以 MIT 许可协议提供。更多详细信息请查阅 LICENSE 文件。