Custom view controller transitions are fast becoming my favourite iOS 7 API addition. As with all new things, there are surprises and side effects to learn about. This post is about one such issue, in this triangle:
While working on Banca 4.1, I needed to allow landscape orientation for the demo video, while still keeping the rest of the app portraint-only. I knew that iOS 7 has changed the way orientation is handled and after some searching and trying few tricks, I compiled the solution.
It’s suprisingly easy.
In my first post about state restoration on iOS 6 (or newer), I explained how you should use
restorationIdentifier for the view controllers that are part of the on-load UI (and thus created in AppDelegate) and
restorationClass to create and return controllers which are deeper in navigation stack.
If you do that, UIKit will take care of restoring the
UINavigationController and you just deal with view controllers beyond the
topViewController inside the navigation controller hierarchy.
That’s still a good general guideline. However, as is usually the case, there are exceptions.
Florian Kugler wrote a post yesterday arguing that for most people the apps we write are worth next to nothing. That their value is determined by how much are people paying for that. Increasingly, that’s a dolar or nothing. Hence, we - app developers - create products of little value.
Here’s a direct quote:
Another approach – and I would argue a more insightful one – is to learn about the nature of the market we’re working in. And not only about the market as an abstract whole, but about the value of our products specifically. The economic reality is that most apps offer next to no value to people. They might say otherwise when asked about, but their actions speak pretty clearly: A cup of coffee is worth more than almost every app on the store.
This is so not true.