Creating a Button Bar

Button bars are represented by the UIButtonBar class in UIKit. Like navigation bars, button bars are designed to be relatively autonomous in their presentation. Internally, they handle all of the mess of button selection—they just work.

UIButtonBar *buttonBar = [ [ UIButtonBar alloc ]
       initInView: self
       withFrame: CGRectMake(0.0, 411.0, 320.0, 49.0)
       withItemList: [ self buttonBarItemList ] ];
[ buttonBar setDelegate: self ];
[ buttonBar setBarStyle: 1 ];
[ buttonBar setButtonBarTrackingMode: 2 ];

This snippet creates a UIButtonBar object and assigns it a display region along the bottom of the window. The button bar needs an item list, which is an array of the buttons to be displayed on the bar. Instead of providing the array inline with the code, a method returning such an array is used. Create a buttonBarItemList method defining all of the buttons for the bar and their properties.

- (NSArray *)buttonBarItemList {
    return [ NSArray arrayWithObjects:
        [ NSDictionary dictionaryWithObjectsAndKeys:
         @"buttonBarClicked:", kUIButtonBarButtonAction,
          @"History.png", kUIButtonBarButtonInfo,
          @"HistorySelected.png", kUIButtonBarButtonSelectedInfo,
          [ NSNumber numberWithInt: 1], kUIButtonBarButtonTag,
            self, kUIButtonBarButtonTarget,
          @"Page 1", kUIButtonBarButtonTitle,
          @"0", kUIButtonBarButtonType,
          nil
        ],

        nil ];
}

This method constructs an array of dictionary classes to contain the properties for each button. The array is terminated with nil, an empty item. Each dictionary object ...

Get iPhone Open Application Development now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.