我正在尝试自定义一个
如何在
UIButton
,我想使用一个UIBarButtonSystemItem
样式,这个样式可用于UIBarButtonItem
对象。如何在
UIButton
对象上使用UIBarButtonSystemItem
样式?UIButton
,我想使用一个UIBarButtonSystemItem
样式,这个样式可用于UIBarButtonItem
对象。UIButton
对象上使用UIBarButtonSystemItem
样式?你不能这么做。UIBarButton和UIButton是两个完全不同的类。最好的办法是找到与你所需内容相似的图片并将其添加到UIButtons中。
使用一个包含UIBarButtonItems的UIToolbar的UIView,而不是UIButton。
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");
}
关于UIBarButtonItem和UIButton的继承关系:
UIBarButtonItem->UIBarItem->NSObject
UIButton->UIControl->UIView->UIResponder->NSObject
可以看出,不能在UIButton上使用UIBarButtonSystemItem,UIBarButtonItem和UIButton只有共同继承自NSObject。
你只能在工具栏或导航栏上使用它们。
一个解决方法/技巧是在想放置UIBarButton的地方使用UIToolbars。