我在UIBarButtonItem
中有一个UIToolBar
。我已经像这样设置了代码:
UIBarButtonItem *barbutton=[[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemAction target:self action:@selector(actionSheet:)];
[barbutton setStyle:UIBarButtonItemStyleBordered];
[toolBar setItems:[NSArray arrayWithObjects: [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil], barButton, nil]] ;
[toolBar setClipsToBounds:YES];
我期待barButton显示边框,但只显示内置操作图标。知道我可能会缺少什么吗?
答案 0 :(得分:1)
在搜索此问题时,我发现只有在使用UIBarButtonItemStyleBordered
初始化UIBarButtonItem
时才会应用所需的样式 - initWithImage
。
所以,也许你可以获得Action按钮的图像并尝试这个
UIBarButtonItem *barbutton = [[UIBarButtonItem alloc] initWithImage:@"action.png" style:UIBarButtonItemStyleBordered target:nil action:nil];
[barbutton setStyle:UIBarButtonItemStyleBordered];
告诉我这是否适合你。干杯!
<小时/> 修改
在测试您自己的代码后,它似乎对我来说很好。这条线
[barbutton setStyle:UIBarButtonItemStyleBordered];
会像这样做
并评论上面的一行,我得到一个像这样的按钮
这不是你想要的吗?
答案 1 :(得分:0)
在iOS 6中,您可以使用UIBarButtonItem类的新方法:
- (void)setBackgroundImage:(UIImage *)backgroundImage
forState:(UIControlState)state
style:(UIBarButtonItemStyle)style
barMetrics:(UIBarMetrics)barMetrics
它为指定的状态,样式和指标设置背景图像。有关详细信息,请参阅[Apple文档] [1]
希望它会对你有帮助。
答案 2 :(得分:0)
使用以下代码来解决ios 6问题。在IOS 7上也可以。
UIButton* btton = [UIButton buttonWithType:UIButtonTypeCustom];
[btton setFrame:CGRectMake(0, 0, 30, 30)];
[btton addTarget:self action:@selector(actionMethod) forControlEvents:UIControlEventTouchUpInside];
[btton setImage:[UIImage imageNamed:@"image.png"] forState:UIControlStateNormal];
UIBarButtonItem *rightButtonItem = [[UIBarButtonItem alloc] initWithCustomView:btton];