Reputation: 11197
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
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
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
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
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