69

標準に標準的なバッジを追加することは可能UIButtonですか?

半自然的にサポートされていない場合、これを達成するための最も簡単な方法は何でしょうか?

画像の例:

iPhoneのUIボタン

4

6 に答える 6

78

これは、 CustomBadgeと呼ばれるSascha Paulusによる非常に優れたクラスで、CoreGraphicsを使用してカスタムバッジを作成およびレンダリングします。これらは単なるUIViewサブクラスであるため、他のUIViewサブクラスと同じようにフレームを使用してレイアウトします。

私はこのライブラリを何度も使用しており、常に結果に満足しています。柔軟で使いやすい。完全にお勧めします。

于 2011-01-18T20:34:35.063 に答える
7

ここでいくつかのオプションを確認できます:CocoaControlsバッジ

于 2013-03-20T15:32:17.147 に答える
3

Appleが使用するクラスは_UIBadgeViewhttps://github.com/nst/iOS-Runtime-Headers/blob/master/Frameworks/UIKit.framework/_UIBadgeView.h)ですが、もちろん、このクラスはプライベートです(アンダースコアに注意してください)。 )および文書化されていません。

これは、Appleと同じルックアンドフィールでこのビューを実装すると同時に、カスタマイズできる別のクラスです:https ://github.com/JaviSoto/JSBadgeView 。これの素晴らしいところは、バッジを別のビューに対して自動的にその隅の1つに配置できることです。

于 2013-09-09T22:48:45.663 に答える
2

Nimbusには、非常に使いやすく、十分に文書化されたバッジビューがあります。

NimbusBadge

于 2012-06-20T07:15:33.547 に答える
1

これが箱から出してどのように行われるのかわかりません。AppleがそれをSDKに組み込んだのではないかと正直に疑っています。

とにかく、ボタンが付いたカスタムビューを作成し、バッジの背景をUIImageViewとして追加し、バッジの数を保持するためにその上にラベルを配置することができます。

UIButtonこれは簡単な解決策です。のカスタムサブクラスを作成し、バッジをサブビューとして追加する方がよい場合があります

于 2011-01-18T15:52:44.807 に答える
1

@BjörnKaiserと同じように行きます。ボタンを好きなように使用し、そのバッジをサブビューとして使用してカスタムビューを追加します。これで、うまく機能します。

ビューはお好きなように描くことができます。手動で描画するか、CoreAnimationを使用して主要部分を作成することができます。つまりtheBadge.layer.cornerRadius = ...;、丸い形にする、テキスト/数字を描画する、drawRect:またはラベルとして追加するなどです。

于 2011-01-18T20:27:25.833 に答える