-
Recent Posts
Recent Comments
Archives
- February 2023
- July 2022
- December 2021
- November 2021
- April 2021
- January 2019
- November 2018
- April 2018
- June 2014
- November 2013
- October 2013
- September 2013
- July 2013
- March 2013
- January 2013
- November 2012
- October 2012
- August 2012
- March 2012
- January 2012
- December 2011
- October 2011
- September 2011
- August 2011
- July 2011
Categories
Meta
Category Archives: Explanation
Mistakes Were Made: A Brief Note on Keyboard Full Access
If you’re like me, you just spent several days refactoring a framework shared between a host app and its app extension–say, a keyboard extension–into its own project and repository. You finally got everything building again, resolving all the broken framework … Continue reading
Custom View Controller Transitions in Landscape
Recently, Jerry wrote about a really cool view controller transition we put together, SMLBookshelfTransition. As you can tell from that post, we’re really excited about all the possibilities this new API provides. You might have noticed though that Jerry made … Continue reading
Mistakes Were Made: Audio and ARC
There’s a mistake I have, to my own great embarrassment, made twice, so I think it’s worth writing up for posterity. This one’s brief: you can laugh at me and move on. Under ARC, AVAudioPlayers don’t retain themselves while playing. … Continue reading
Posted in Explanation
Tagged ARC, automatic reference counting, Beginners, cocoa, code snippet, iOS, mistakes were made, Mistkaes
Leave a comment
Premature Completion: An Embarrassing Problem
Working on a project recently, Jerry and I came across an odd bug. We have a two-level UI that allows the user to navigate between several different scroll views. For the sake of keeping things pretty, we want to reset … Continue reading
Posted in Explanation
Tagged animation, bugs, cocoa, code snippet, core animation, iOS, mistakes were made, Mistkaes, sample code
10 Comments
Xcode Archives – What a Buncha Jerks
It’s been a little quiet around here lately, and if this post title hasn’t given it away, it’s because Joel and I have been pretty hard at work getting some products shipped. At the day job, the bossman is generally … Continue reading
All in the Timing: Keeping Track of Time Passed on iOS
Imagine you’re writing a game called Small Skyscraper. It’s one of a certain type of freemium game: it’s not particularly difficult, but achievements take a lot of time. You make money by selling in-app purchases to reduce the amount of … Continue reading
CALayer Internals: Contents
It’s right there in the CALayer documentation: contents An object that provides the contents of the layer. Animatable. @property(retain) id contents Discussion A layer can set this property to a CGImageRef to display the image as its contents. The default value is nil. There’s … Continue reading
CALayer’s Parallel Universe
Ever tried to animate a UIView’s position? It’s easy, using UIView animation class methods like animateWithDuration:animations: and friends. Simply change the position inside the “animations” block, et voila, a pretty animation with the duration of your choice. But have you … Continue reading
CALayers v. CGLayers, or, Which Layer, Player?
What’s the Deal? An evergreen source of confusion for developers new to graphics on iOS is the existence of multiple Apple-provided graphics frameworks, and multiple “layer” objects within those frameworks. We’re told to use Core Animation for compositing and animation, … Continue reading