TabBarKit

Just pushed a new project, TabBarKit, up to Github. It is a small and elegant implementation of a “container” view controller concept.

Some interesting aspects include:

  • No backing or support images required to draw the tab bar interface. The bar, tab item selections and arrow indicator are implemented as CALayers.
  • Tab bar and tab items support two styles, a standard appearance a la UITabBar or with an arrow indicator a la Tweetie / Twitter).
  • UIImage category takes black images masks and renders with gray and blue selection gradients like UITabBar/UITabBarItem
  • Uses UIView block animations to respect the hidesBottomBarWhenPushed property on contained UIViewControllers.
  • Uses ObjC associatedObject API to associate tab items and the tab controller with contained view controllers.

Screen capture of the “tweetie” style tab bar…

Posted in Projects

Permalink

BuildKit Updates for iOS 4

I’ve pushed a number of changes to my BuildKit project on Github that bring it up to date with the latest iOS 4.0 SDK and prepares it to work with Xcode 4.0. BuildKit for iOS  is a collection of configurations, scripts and Xcode project templates to manage creating, building and using multiple static libraries for iOS applications. I based it upon a similar structure I created for Mac applications and frameworks in 2005 and 2006 after Xcode 2.1 introduced configuration files. Both leverage the multi-layered build settings in Xcode.

Posted in Projects

Permalink

Github Projects

During the iPhone Tech Talk yesterday, I finally found the time to get two projects up on to my Github..

WebServiceKit is an Objective-C library for building web service clients that uses the NSURLConnection and NSOperation. This code was yanked out a project and cleanup up a bit so I has lost some context. I need to document it and build an example application with the JSON and XML libraries forks of the JSON framework and DDXML I have called JSONKit and XMLKit.

BuildKit will require a lot of more documentation but it is the project tree structure that I use with Xcode projects and Subversion to create an easy to use environment to quickly create new shared libraries (static for iPhone, frameworks for Mac OS X) and application projects that can all share libraries and resources.

I’ll get to writing documentation and how to use these things over the coming weekend.