iOS 6-UIBarButtonItem设置样式不工作
我在iOS 6-UIBarButtonItem设置样式不工作,ios,objective-c,ios6,uibarbuttonitem,uitoolbar,Ios,Objective C,Ios6,Uibarbuttonitem,Uitoolbar,我在UIToolBar中有一个UIBarButtonItem。我将代码设置为: UIBarButtonItem *barbutton=[[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemAction target:self action:@selector(actionSheet:)]; [barbutton setStyle:UIBarButtonItemStyleBordered]; [toolBa
UIToolBar
中有一个UIBarButtonItem
。我将代码设置为:
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
时,就会应用你想要的样式-uibarbuttonimStyleBordered
所以,也许你可以得到一个动作按钮的图像,然后试试这个
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
它为指定的状态、样式和度量设置背景图像。有关更多详细信息,请访问[苹果文档][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];
对这就是我想要的。出于某种原因,这似乎没有发生在我身上(一定要用xib文件查看你的
工具栏
插座。然后为当前项目尝试产品>清理。这会对UIBarButton产生什么影响?我不知道,但清理项目有时会删除随机错误…你的确切代码对我有效,所以我不知道你那边可能有什么问题。嗯。这很奇怪。same代码在UINavigationBar上工作,但在UIToolBar上不工作。