如何将徽章添加到标准UIButton?[关闭]


69

是否可以在标准中添加外观标准的徽章UIButton

如果半本地不支持它,最简单的方法是什么?

示例图片:

iPhone UI按钮


根据记录,2013年11月,最新支持的软件包似乎是:github.com/jessesquires/JSCustomBadge,它完美运行而没有问题。
Fattie

刚刚发表了评论,我意识到JSCustomBadge似乎可以在Xcode5中工作,而不是Xcode4。“ CustomBadge”在Xcode4中可以完美运行github.com/ckteebe/CustomBadge TBC都似乎在Xcode5中可以完美运行。希望它能帮助某人。
Fattie

1
我刚刚发布了为iOS 8快速编写的CocoaPod,几乎可以立即提供此功能。它仍处于开发初期,但我很想听听一些反馈。瞧瞧吧https://github.com/johncosch/TIPBadgeManager
约翰COSCH

Answers:


78

这是Sascha Paulus的一个非常好的NICE类,称为CustomBadge,它使用Core Graphics构建和呈现自定义徽章。它们只是UIView子类,因此您可以像其他UIView子类一样使用它们的框架对其进行布局。

我已经使用了这个库很多次,并且对结果始终感到满意。灵活,易于使用。完全推荐它。


7
还有一个用于自定义徽章的可可豆荚-cocoadocs.org/docsets/CustomBadge/2.0/Classes/CustomBadge.html
Nate Flink


3

苹果使用的类是_UIBadgeViewhttps://github.com/nst/iOS-Runtime-Headers/blob/master/Frameworks/UIKit.framework/_UIBadgeView.h),但是,该类当然是私有的(请注意下划线) ),但未记录在案。

这是另一个类,以与Apple相同的外观实现此视图,同时还允许您对其进行自定义:https : //github.com/JaviSoto/JSBadgeView。关于这一点的最大好处是,它使您可以将徽章自动相对于另一个视图的一个角定位。



1

我不知道这是怎么做到的,老实说,我怀疑Apple是否将其内置到SDK中。

无论如何,您可以创建一个带有按钮的自定义视图,将徽章的背景添加为UIImageView并在其上放置标签以保存徽章的数量。

这是一个快速的解决方案,最好创建一个的自定义子类UIButton并将您的徽章内容添加为子视图


4
不要UIButton子类化-它不能很好地工作,即,您只有一个方便的构造类方法。同样,也不需要按钮的“容器”视图。
Eiko

1

我会采用与@BjörnKaiser相似的方式:使用按钮,然后添加带有该徽章的自定义视图作为其子视图-我已经做到了,并且效果很好。

至于视图,您可以根据需要绘制它。您可以手动绘制它或使用CoreAnimation并使其成为主要部分,即使theBadge.layer.cornerRadius = ...;其具有圆形,在其中绘制文本/数字drawRect:或将其添加为标签等。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.