Featured iPhone Development Resources

Create Glossy iPhone Buttons Easy Using Interface Builder Or Code Without Images Or Private APIs

Last week I posted about a button making tool that utilizes the hidden UIGlassButton class in order to make the sexy colored glass buttons that are common in Apple created applications.

Having to create these buttons was something I was doing at the time, and it surprised me that many others seemed to be doing the same thing.

I was asked by a couple of people if that class was really safe to use, and it was because all you were doing was saving the buttons, and then using them in your own apps — it is perfectly alright since you would just be using png files, but Hwee-Boon has submitted an even easier solution.

The solution is a set of classes that utilize core animation to create the buttons so that no private APIs are used.

What makes this solution easier is that you can just use interface builder and then add in one line of code to set up how you would like the button to look.  No need to export png’s, and load them in.  You can also set them up using code.

The solution along with sample code can be found on Github here:

If you’re using interface builder for the buttons it is a pretty simple process:

1. In the interface builder declare the buttons as IBOutlet UIMOButton as opposed to IBOutlet UIButton.
2. Create your buttons with the UIRoundedRect type, and link them to the UIMOButtons you declared making sure the class identity is set to MOGlassButton.
3. When the xib is loaded execute the appropriate method for color and size ie. setupAsGreenButton setupAsSmallGreenButton.

Overall the code is very easy to follow, and looking at the demo project you can easily see exactly how things are done.

You can see in the screenshot below how things can easily be laid out in interface builder and the results including some buttons layed out using code:

Be sure to check out Hwee-Boon’s Posterous for further details (or to just say thanks):
Glass Buttons in iPhone Apps Without Using Image Files

If you like this then please share it with others.  Thanks!

1 reply on “Create Glossy iPhone Buttons Easy Using Interface Builder Or Code Without Images Or Private APIs”

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.