我无法在导航栏中设置左键。任何人都知道为什么下面的代码没有显示按钮?
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:
模拟器:
--- ---- UPDATE
上面的代码根据CodaFi的建议使用正确的enum和init进行更新,但按钮仍未出现。
答案 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