以编程方式更改UIBarButtonItem的标识符属性

时间:2009-07-11 08:05:55

标签: iphone cocoa-touch uibarbuttonitem

通过Interface Builder,我可以将UIBarButtonItem的Identifier更改为“Add”(或“Undo”,“Redo”等...)。这为我的按钮提供了一个漂亮的“+”图像。

如何以编程方式设置此代码? UIBarButtonItem不接受“setIdentifier”消息。

3 个答案:

答案 0 :(得分:6)

构建后,无法修改UIBarButtonItem的“标识符”。但是,可以通过使用以编程方式构造的变体替换按钮来更改UI。例如:

UIBarButtonItem *addButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAdd 
                                                                           target:self 
                                                                           action:@selector(doAddAction:)];

答案 1 :(得分:2)

如果你想要一个按钮样式:有边框和标识符:相机使用

UIBarButtonItem *btn;
btn = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemCamera target:self action:@selector(shotAction:)];
btn.style=UIBarButtonItemStyleBordered;

答案 2 :(得分:0)

创建UIBarButtonItem后,无法更改标识符。但是,您可以创建一个新的UIBarButtonItem来替换旧的UIBarButtonItem

UIBarButtonItem *barButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAction
                                                              target:self
                                                              action:@selector(buttonClickedAction:)];

self.navigationItem.rightBarButtonItem = barButton;