Rss

Screencast Experiment: FlippyCell

I was experimenting with UITableViewCells late last week and wanted to show off a couple things I thought were interesting, and decided to do so in the form of a screencast.

Click to view flippy-view.mp4 (MPEG-4: H.264/AAC, TRT: 15:35)

Click to view flippy-view.mp4 (MPEG-4: H.264/AAC, TRT: 15:35)

The demo is an experiment I did to get UITableViewCells to “flip over”, by doing a transition with Core Animation. I ended up doing a few nib-loading tricks that are worth remembering, and wanted to share. So here’s the FlippyTableCellThrowaway Xcode project as a .zip file, MIT licensed (seriously, do what you want with it, don’t even bother with attribution, just don’t be a dick by passing it off as your own work).

This was also an experiment for me in terms of shooting and narrating a completely off-the-cuff, no-edits screencast. I haven’t even bought proper screencast software, so you can see the iShow U watermark throughout (and I only chose iShow U because Screenflow‘s watermark is far more prominent).

Anyways, hope it doesn’t suck. This was a total hack job in terms of code (haven’t even removed all the log messages and commented-out mistakes) and screencasting, so buyer beware.

Next Post

Comments (3)

  1. Just noticed one interesting bug. The cells remember their flipped state even when scrolled offscreen, cached, and reused. Flip row 0, scroll, and row 12 will come into view already flipped. Obviously, FlippyCell needs to let the ViewController set the flip state of a dequeued cell before returning it from tableView:cellForRowAtIndexPath:. Told you it was a quick-and-dirty experiment.

  2. Patrick

    Great stuff, I never would have figured out the Interface Builder wiring myself.

  3. […] another music quiz based on the contents of your music collection. This one was distinguished by a “flippy cell” animation, and some novel modes for challenges, like identifying missing tracks in a list of songs on an […]

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.