Iphone 更改uibarbuttonite';s风格为BarButtonSystemItem

Iphone 更改uibarbuttonite';s风格为BarButtonSystemItem,iphone,ios4,interface-builder,uibarbuttonitemstyle,Iphone,Ios4,Interface Builder,Uibarbuttonitemstyle,我是iPhone开发新手,所以我不确定这是否是一个非常普遍的问题。我在谷歌上找不到这方面的任何信息 我使用Interface Builder定义了一个UIBarButtonItem: @property (weak, nonatomic) IBOutlet UIBarButtonItem *cameraButton; 现在,它只是一个简单的按钮,但我想使用UIBarButtonSystemItemCamera在上面放一个摄像头图像。我知道可以用initWithBarButtonSystemIt

我是iPhone开发新手,所以我不确定这是否是一个非常普遍的问题。我在谷歌上找不到这方面的任何信息

我使用Interface Builder定义了一个UIBarButtonItem:

@property (weak, nonatomic) IBOutlet UIBarButtonItem *cameraButton;
现在,它只是一个简单的按钮,但我想使用
UIBarButtonSystemItemCamera
在上面放一个摄像头图像。我知道可以用
initWithBarButtonSystemItem
来实现,但我知道没有像
changeWithBarButtonSystemItem
这样的方法。我想做一些类似的事情:

- (void)viewDidLoad
{
  [super viewDidLoad];

  [cameraButton changeWithBarButtonSystemItem:UIBarButtonSystemItemCamera];
}
怎么可能呢?有没有办法告诉Interface Builder直接用这个摄像头图标实例化按钮


编辑
在实例化按钮之后,似乎不可能更改按钮样式。因此,只剩下一个问题:是否有办法告诉界面生成器使用
uiBarButtonSystemCamera
实例化按钮?

在界面生成器中,将uiBarButtonim的“标识符”更改为“摄像头”


如果您需要在运行时更改按钮,最简单的方法是将按钮本身换掉,而不是尝试对其进行变异。

在Interface Builder中,将UIBarButtonim的“标识符”更改为“照相机”


如果您需要在运行时更改按钮,最简单的方法是更换按钮本身,而不是尝试对其进行变异。

谢谢,这很有效(当然)!精确一点:你说的“调出”是指我必须删除它并添加另一个按钮,因为它是不可变的吗?是的。如果需要的话,您可以很容易地在一个类别中编写一个-replaceButton:withButton:method,例如UIToolbar,以干净地封装此行为。这是一个合适的解决方案。谢谢谢谢,它(当然)奏效了!精确一点:你说的“调出”是指我必须删除它并添加另一个按钮,因为它是不可变的吗?是的。如果需要的话,您可以很容易地在一个类别中编写一个-replaceButton:withButton:method,例如UIToolbar,以干净地封装此行为。这是一个合适的解决方案。谢谢“此问题”链接似乎指的是本文档。这是故意的吗?这是一个糟糕的复制粘贴。谢谢你突出显示。以下是解决方案。“此问题”链接似乎指的是本文档。这是故意的吗?这是一个糟糕的复制粘贴。谢谢你突出显示。以下是解决方案。