繁体   English   中英

iOS 6-UIBarButtonItem setStyle不起作用

[英]iOS 6 - UIBarButtonItem setStyle not working

我在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带有边框显示,但是只会显示内置的动作图标。 知道我可能会缺少什么吗?

在搜索此问题时,我发现仅当使用initWithImage初始化UIBarButtonItem时, UIBarButtonItemStyleBordered应用所需的UIBarButtonItem

因此,也许您可​​以获得“操作”按钮的图像并尝试

UIBarButtonItem *barbutton = [[UIBarButtonItem alloc] initWithImage:@"action.png" style:UIBarButtonItemStyleBordered target:nil action:nil];
[barbutton setStyle:UIBarButtonItemStyleBordered];

告诉我这是否适合您。 干杯!


编辑

经过测试您自己的代码,对我来说似乎工作正常。 线

 [barbutton setStyle:UIBarButtonItemStyleBordered]; 

会像这样做出动作

在此处输入图片说明

在评论上面的行时,我得到一个像这样的按钮

在此处输入图片说明

那不是你想要的吗?

在iOS 6中,您可以使用UIBarButtonItem类的新方法:

- (void)setBackgroundImage:(UIImage *)backgroundImage
              forState:(UIControlState)state
                 style:(UIBarButtonItemStyle)style
            barMetrics:(UIBarMetrics)barMetrics

它为指定的状态,样式和指标设置背景图像。 [Apple文档] [1]中提供了更多详细信息。

希望它将对您有所帮助。

针对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];

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM