Every iOS developer should be very familiar with the UITableView. It’s the main building block of most applications (excluding OpenGL based games, of course). So back when I started developing applications when iOS was on version 2.0, I created a tutorial for creating custom UITableViewCell objects. Since then application developers are finding more and more that they need to push the boundaries of what they can do with a simple UITableViewCell. In iOS 3.0 Apple introduced a style attribute for cells, which certainly helped with a lot of situations but there is still the tedious process of creating custom cells with anything more than the standard 1 or 2 text labels.
I usually end up hand rolling a UITableViewCell subclass, or if I only ever want 1 of that type of cell in a given view (for instance a single username and single password cell) I might use Interface Builder to create the cell and put it in the XIB for the view controller. But when you end up with 10+ projects each with a handful of custom cells, you soon go quite mad trying to remember each detail about each cell.
So I was pleasantly surprised when I was recently given the opportunity to take a look at Sensible Cocoa’s Sensible TableView (STV) project, which is a collection of Objective-C classes for easily creating custom UITableViewCells.
Having had a play with STV I have managed to get to grips with how it works and why you might want to use it. Hopefully by reading this you can get an insight into why you might want to use STV.
STV at it’s core is a very simple way of creating custom cells (see the code samples below) but also there’s a lot of very impressive extra features such as binding to a data model so that you can create very complex interfaces to interact with your data. They also appear to be adding features all the time which is a good sign.
The best examples are on Sensible Cocoa’s website where there are videos showing how to use it.
STV is currently $299 for a license which includes full source code & limited time support. I think this is pretty decent value for money given what you can do with it.
If you’re someone who uses UITableView everyday, I can see that STV will definitely make your life a lot easier. I’d suggest that it might be suited more to contractors who are constantly churning out apps rather than developers working on long term projects where rolling your own cells is probably the right way to go still, given that you still get much more control over the cells if you do it yourself. For instance, in my Subnet Calc range of applications I have created a custom cell that is far too custom for STV to ever implement – it’s too specific to the application.
Overall, go and give STV a look. Watch the tutorial videos and see if it can do something for you.
In the coming weeks I aim to write a few more posts aimed at showing a few of the features of STV.