I have been absent, but I come bearing gifts…
I haven’t been a very good steward as of late (I have excuses I swear!)
On a good note, I have finally uploaded a few snippets for the world to use.
First up is: iPhone Context Views (Codaset) (Github)
This is a very simple view class that will pop up context views/menus for users to interact with. This probably flies in the face of the HIG, but oh well. I must also admit this was heavily inspired by TaskPaper for the iPhone, which is an awesome app for notes/tasks/outlining.
The views use a simple delegate pattern which most Cocoa Devs should find familiar.
For my next trick, I present FJSTransitionController (Codaset) (Github).
“What is this TransitionThingAmaBob,” you ask? Well, FJSTC is a custom “top level view controller” to be used as a replacement for UINavigationControllers and UITabBarControllers. It handles transitions between view controllers, but with more flexibility.
Instead of managing a stack or an array of view controllers, FJSTC manages a Dictionary. You can associate VCs with keys and load them arbitrarily.
“But I want more!” you say. Well instead of giving FJSTC a fully instantiated VC, you can simply provide a class and it will instantiate it on demand. you can provide a nib as well.
Another requirement was the proper calling of viewDidAppear: and friends. This was done using the nice SDNextRunloopProxy class by Steve Degutis.
Just like UITBC and UINC, you can access the transitionController through an instance variable on all UIViewController instances (made possible by a UIViewController category):
[self.transitionController loadViewController:vc forKey:myKey];
And lastly, transition animations. You can set a transition animation type, duration, and direction (if required). The animations were enabled using FTUtils, a fantastic core animation wrapper with several stock animations (you really should check it out, as I said before).
So now you can load arbitrary view controllers with arbitrary animations in just a few lines of code.
These are both relatively new and assuredly have some bugs, BUT I am using them both in applications I am building right now. So, I will find those bugs, yes I will.
If you have a minute, check them out, and break as many rules in the HIG as you can!