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…