Sean Patrick O’Brien, a fairly new Cocoa developer has recently released an iLife Controls framework. This allows you to create HUD Windows and controls such as buttons, sliders, popup menus etc. and also a smooth metal type window (again with controls such as buttons and frames).

Heads-up-display with a window, subclassed with the framework.
With everyone trying to keep up with Apple’s interface additions, this isn’t a bad way to go about it. The framework includes a lot of subclasses and some of them needed to be added to Interface Builder in order for the hierarchy to show, so I’ve uploaded a simple project to show what this framework can do. It’s not completely bug-free; in fact, there are quite a number of creepy-crawlies, but the idea is there, and this looks to be the beginning of quite a handsome project.
Download just the framework source
And while you’re at it, don’t forget to thank Sean
17 Comments so far
Leave a commentThanks!
Though, interface builder palettes would be really nice.
voiced by Logan Williams on November 11, 2006 2:13 am | Permalink
That wouldn’t be too diffcult to doo (interface builder pallets)
revealed by SeoxyS on November 11, 2006 5:10 am | Permalink
I agree with you there. It’d be nice to see how everything is coming together in Interface Builder, but I’m sure Sean will cook something up soon.
However, I would use extreme caution before using this framework in a commercial application as it’s still in development.
declared by Ankur on November 11, 2006 3:03 pm | Permalink
For sure, a pallete would be brilliant - im not the worlds greatest cocoa developer (and i dont pretend to be!) but i found this….
http://www.bignerdranch.com/palettes/x272.htm
so if a better man (or woman for that matter) than i fancys making a pallete for the good of the comunity that would be great!!!!
Tim
recorded by Tim Perrett on February 25, 2007 4:35 am | Permalink
Hey! Can you please please please help me with this. I’ve been trying to get this to work all day and I cannot figure out how you added all the necessary files to xcode or something. In other words, I don’t know how to set up the application before starting development.
I searched your example and even when i apparently mirrored it, it still did not work for me.
Could you please either send me an email detailing this process or write a tutorial and send me a link? I am asking you to send me an email because although I do check your blog often, I would like to know the answer to my problem as quickly as possible. Thanks for your help!
composed by Daniel Swiecki on April 22, 2007 2:18 pm | Permalink
Turns out it’s my fault. You need to move the framework to /Library/Frameworks/ then update the reference to it in the sample project.
Sorry about that.
divulged by Ankur on April 22, 2007 9:54 pm | Permalink
Has anyone done any work on fixing up the NFIWindow toolbar? It has a hard coded height, however there is commented code that produces a working toolbar background height for the proper toolbar except for the limitation that if you set the toolbar mode from normal to small or vice versa there are rendering artifacts left behind. If not I will post my fix if I ever find the proper private override/drawing method.
uttered by Julian Cain on August 16, 2007 12:22 pm | Permalink
hi. i know this is old but i just found it and would like to use it in my application. i have a problem when adding the header files for this framework into interface builder.when i drag and drop the header files, IB gives out a warning that it cant find the superclass for some of the class im adding. is there something wrong that i am doing here? you can email me also.thanks alot and really like your blog.
announced by Adi on August 26, 2007 10:49 am | Permalink
I don’t understand how to install this, i tried looking at the sample project…is it not compatible with Leopard?
professed by Collin on December 4, 2007 3:42 am | Permalink
To use this in a project, you need to drag all the header files into IB. You get warnings about missing superclasses, so for all the classes that give a warning, find their superclass and drag it into IB first, then drag the subclasses in.
Once the classes are in IB, click on a control such as a button or a window and change the custom class to something you just added.
uttered by Ankur on December 4, 2007 8:53 am | Permalink
I’ve put together a quick example of how to use the iLifeControls framework in an Interface Builder Plug-in.
http://www.mark-hill.co.uk/dev_blog/?p=3
expressed by Mark on February 11, 2008 7:22 pm | Permalink
So complicated to install… But i find a way who seems to work
With the built “iLifeControls.framework” in the same folder of “YOURAPP.xcodeproj” :
XCode -> Build your app if never done
XCode -> Folder “Ressources” (Leftbar) -> Add (right clic on folder) -> Existing Frameworks…
-> choose “iLifeControls.framework”
-> Choose “Relative to Build product” for “reference Type” -> Add
XCode -> Double clic “MainMenu.nib”
InterfaceBuilder -> Select the “Classes” tab
XCode -> Clic “iLifeControls.framework” (leftbar, in the folder “ressources”), the list of the headers of the framework appears
Xcode + Interface Builder -> From Xcode drag one by one the headers on the “MainMenu.nib” window (InterfaceBuilder) on the Treeview (or ListView) of the classes until there is no error msg (normally if you select all the headers and drag them with no error msg, it’s ok) - see above the ankur msg
InterfaceBuilder -> Select a window of your app
-> Inspector panel -> Select “Custom class” -> choose a iLifeControls class (ex: NFIWindow)
Finder -> Copy “iLifeControls.framework” to your built app directory (/build/release/ or /build/debug/)
XCode -> “Build and Go”
Note : For a stand-alone working app, you must right clic your build app -> “view content..” in the finder
-> open the “content” folder
-> in the “Content” folder create a new folder named “Frameworks”
-> In that new “Frameworks” folder copy/paste “iLifeControls.framework”
-> always in the finder double clic your built app… it works (for me) !
Note2: this dosen’t initiate the topbar and bottombar heights you must add code/outlet - see sources
Hope it will help new -very new - cocoa dev like me
Correct me if there’s mistakes
declared by padawan on April 22, 2008 7:23 am | Permalink
thanks PADAWAN, you helped me alot
uttered by Me on June 20, 2008 4:16 am | Permalink
Wow. Even the spammers in this thread are ignorant.
divulged by Max on December 18, 2008 8:05 am | Permalink
I have implemented your framework/class to open a HUD window for tiger version of my application.
But my application is made with AppleScript,
and i have a problem with. I can’t get the “Window: will close” Event for quit the application after close window.
The window is an NSPanel.
I don’t know if you can help me…?
Also thanks for everything.
proclaimed by Ruben Rodriguez on July 11, 2009 12:54 am | Permalink
Leave a comment