0

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

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);

界面生成器:

在此处输入图像描述

模拟器:

在此处输入图像描述

- -更新 - -

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

4

1 回答 1

1

您的 init 方法的initWithBarButtonSystemItem:一部分被提供了错误的枚举值。

系统项不同于条形按钮样式(例如 UIBarButtonItem* Style *Bordered,与 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

于 2012-06-18T19:51:09.427 回答