UIBarButtonItem未添加到导航中

时间:2012-06-18 19:25:40

标签: objective-c uibarbuttonitem uinavigationitem

我无法在导航栏中设置左键。任何人都知道为什么下面的代码没有显示按钮?

UIBarButtonItem *barButton = [[UIBarButtonItem alloc] 
 initWithTitle:@"my left button" 
 style:UIBarButtonItemStyleBordered 
 target:nil 
 action:nil];


[self.navigationItem setLeftBarButtonItem:barButton];

 //this is now printing out "my left button", 
 //but the button still does not appear on the navigation.
 NSLog(@"navigationItem.leftBarButtonItem.title:
  %@",self.navigationItem.leftBarButtonItem.title);

Interface Builder:

enter image description here

模拟器:

enter image description here

--- ---- UPDATE

上面的代码根据CodaFi的建议使用正确的enum和init进行更新,但按钮仍未出现。

1 个答案:

答案 0 :(得分:1)

正在为init方法的initWithBarButtonSystemItem:部分提供错误的枚举值。

系统项与条形按钮样式不同(例如UIBarButtonItem * Style * Bordered,vs UIBarButton * System * ItemAdd)。

以下是有效枚举值的列表:

  

typedef enum {      UIBarButtonSystemItemDone,      UIBarButtonSystemItemCancel,      UIBarButtonSystemItemEdit,      UIBarButtonSystemItemSave,      UIBarButtonSystemItemAdd,      UIBarButtonSystemItemFlexibleSpace,      UIBarButtonSystemItemFixedSpace,      UIBarButtonSystemItemCompose,      UIBarButtonSystemItemReply,      UIBarButtonSystemItemAction,      UIBarButtonSystemItemOrganize,      UIBarButtonSystemItemBookmarks,      UIBarButtonSystemItemSearch,      UIBarButtonSystemItemRefresh,      UIBarButtonSystemItemStop,      UIBarButtonSystemItemCamera,      UIBarButtonSystemItemTrash,      UIBarButtonSystemItemPlay,      UIBarButtonSystemItemPause,      UIBarButtonSystemItemRewind,      UIBarButtonSystemItemFastForward,      UIBarButtonSystemItemUndo,// iOS 3.0及更高版本      UIBarButtonSystemItemRedo,// iOS 3.0及更高版本      UIBarButtonSystemItemPageCurl