/TDBadgedCell

TDBadgedCell is a table view cell class that adds a badge, similar to the badges in Apple's own apps

Primary LanguageSwiftMIT LicenseMIT

TDBadgedCell

TDBadgedCell grew out of the need for TableViewCell badges and the lack of them in iOS (see the article explaining this on TUAW. Recently the project has been re-written in Swift and much simplified.

Note: You can find the old Objective-C version on the deprecated-objective-c branch.

Version Carthage compatible Platform License Downloads

 

Usage and examples

TDBadgedCell is designed to be a drop in replacement to UITableViewCell with the added benifit of a simple badge on the right hand side of the cell, similar to those you'll find in Mail.app and Settings.app. All you need to do to implement TDBadgedCell is supply a TDBadgedCell instance in your cellForRowAt indexPath: method:

override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
  var cell = tableView.dequeueReusableCell(withIdentifier:"BadgedCell") as? TDBadgedCell;
  if(cell == nil) {
    cell = TDBadgedCell(style: .default, reuseIdentifier: "BadgedCell");
  }

  // ...
  
  return cell!
}

You can modify the badges appearance in a number of different ways.

  • Setting badge value

    To set the content of your badge (String) simply do:

    cell.badgeString = "Hello, World!"
  • Changing the badge color

    You can set badgeColor and badgeColorHighlighted to modify the colour of the badges:

    cell.badgeColor = .orange
    cell.badgeColorHighlighted = .green
  • Setting the font size and text color

    By default the badge text will be clipped out of the badge background allowing you to see through to the background colour beneath. However you can specify a text color manually along with the badges font size:

    cell.badgeTextColor = .black;
    cell.badgeFontSize = 18;
  • Corner radius

    You can modify the badges corner radius allowing you to change the badges shape from the default "pill" shape to a square or rounded rectangle:

    cell.badgeRadius = 0;

If you have any feedback or feature requests, simply open an issue on the TDBadgedCell github repo.

Licence and that stuff

TDBadgedCell is a free to use class for everyone. I wrote it so people could have the badges Apple never provided us with. If you modify the source please share alike and if you think you've improved upon what I have written I recommend sending me a pull request.

Please note: If you are using TDBadgedCell in your project please make sure you leave credit where credit is due. Chances are I won't notice if you haven't left credit but karma will…