Rashad
Rashad

Reputation: 11197

Can I use a UIBarButtonSystemItem for a UIButton?

I am trying to customize a UIButton and I want to use a UIBarButtonSystemItem style that is available for a UIBarButtonItem object.

How do I use a UIBarButtonSystemItem style on a UIBUtton object?

Upvotes: 7

Views: 5227

Answers (4)

Jared Price
Jared Price

Reputation: 5375

Use a UIView instead of a UIButton that contains a UIToolbar with UIBarButtonItems.

UIView *buttonContainer = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 80, 44)];
buttonContainer.backgroundColor = [UIColor clearColor];
UIToolbar *dummyBar = [[UIToolbar alloc] initWithFrame:CGRectMake(0, 0, 80, 44)];

UIBarButtonItem *b1 = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAdd target:self action:@selector(doSomething:)];
UIBarButtonItem *b2 = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAction target:self action:@selector(doSomething:)];

NSArray *items = [[NSArray alloc] initWithObjects:b1, b2, nil];

[dummyBar setItems:items];

[buttonContainer addSubview:dummyBar];

...

-(void)doSomething:(id)sender
{
    NSLog(@"Button pushed");
}

Upvotes: 4

Daij-Djan
Daij-Djan

Reputation: 50129

you can only use them on a toolbar on navbar.

a workaround/hack could be use UIToolbars where you want UIBarButtons to be placed

Upvotes: 0

simalone
simalone

Reputation: 2768

From the inheritance about UIBarButtonItem and UIButton:

UIBarButtonItem->UIBarItem->NSObject

UIButton->UIControl->UIView->UIResponder->NSObject

you can see, there is not possible to use UIBarButtonSystemItem on UIButton, UIBarButtonItem and UIButton only commonly inherited from NSObject.

Upvotes: 2

Mick MacCallum
Mick MacCallum

Reputation: 130222

You can't. UIBarButton and UIButton are two completely different classes. The best you can do is find images close to what you're looking for and add them to UIButtons.

Upvotes: 8

Related Questions