Objective-C
2 Jul 2013
Bringing cartoon-style squash and stretch to iOS views, automatically. The layer tracks its own velocity and distorts along the direction of travel — no configuration needed, volume stays constant.
30 Jan 2013
SMPageControl, Meet UIAccessibility
Adding VoiceOver support to our UIPageControl replacement — and naming pages too. With per-page names and full accessibility parity, SMPageControl finally earns its 1.0 and lands on CocoaPods.
30 Sep 2011
Mistakes Were Made: Description Isn’t Enough
Turns out po calls debugDescription, not description. Oops. A correction to an earlier blog post, with the fix that keeps CALayer subclasses from hijacking your custom output.
22 Aug 2011
Integers in Your Collections (NSNumber’s not my friend)
Skip NSNumber and use Core Foundation to store integers in collections, 100x faster. A deep dive into CFArray and CFDictionary callbacks that makes the whole thing surprisingly painless.
15 Aug 2011
Quick Tip: Drawing Right Side Up With Core Text
Why Core Text draws everything upside down on iOS and how to fix it. A quick walkthrough of context transforms, text matrices, and why CGContextSetTextMatrix alone won’t save you.
1 Aug 2011
Mistakes Were Made: Initialize Your Locals
An uninitialized float worked fine in debug and shipped a bug to the App Store. The fix is a compiler warning you should turn on right now — plus a lesson in why zeroing your locals matters.
26 Jul 2011
Override description on your classes and stop staring at memory addresses in the console. A beginner-friendly walkthrough of making NSLog and GDB actually useful for your custom objects.