TDBadgedCell is a table view cell class that adds a badge, similar to the badges in Apple's own apps
TDBadgedCell grew out of the need for TableViewCell badges and the lack of them in iOS (see the article explaining this on TUAW Engadget). Recently the project has been re-written in Swift and much simplified.
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.
To set the content of your badge (String) simply do:
cell.badgeString = "Hello, World!"
You can set badgeColor and badgeColorHighlighted to modify the colour of the badges:
cell.badgeColor = .orange
cell.badgeColorHighlighted = .green
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;
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;
You can set the badge’s offset from the right hand side of the Table View Cell
cell.badgeOffset = CGPoint(x:10.0, y:0)
You can add an offset to the text within the badge
cell.badgeTextOffset = 5.0
If you have any feedback or feature requests, simply open an issue on the TDBadgedCell github repo.
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…