2010-10-29 75 views
0

我的@interface FriendsNavController里面有以下代码:UINavigationController类的实现。代码被执行。我只是不知道为什么它没有显示该按钮...右键栏按钮不在导航栏中加载

- (void)viewDidLoad { 
    UIBarButtonItem *button = [[UIBarButtonItem alloc] initWithTitle:@"Add Event" style:UIBarButtonItemStylePlain target:self action:@selector(refreshPropertyList)]; 
    self.navigationItem.rightBarButtonItem = button; 
    [button release]; 
    [super viewDidLoad]; 
} 

回答

2

编辑:我想我误解你的问题。我将navigationItem.rightBarButtonItem设置在控制器的viewDidLoad中,我将其压入导航控制器的堆栈,而不是导航控制器的viewDidLoad中。我认为这也是你需要做的。


也许调用[super viewDidLoad]是设置导航项目的按钮返回到默认的(即无)。在我的基于导航的应用程序,我让[super viewDidLoad]调用我的代码之前,像这样:

- (void)viewDidLoad { 
    [super viewDidLoad]; 
    UIBarButtonItem *button = [[UIBarButtonItem alloc] initWithTitle:@"Add Event" style:UIBarButtonItemStylePlain target:self action:@selector(refreshPropertyList)]; 
    self.navigationItem.rightBarButtonItem = button; 
    [button release]; 
} 

和右边的按钮是正确显示。

+0

它不会改变任何东西.... – aherlambang 2010-10-29 16:45:59

+0

我upvoted他的答案。我唯一遇到过导航栏按钮的问题是当一个按钮是由一个无图像的自定义图像启动时。我可以建议的唯一事情就是设置一个断点并确认该按钮不是零。 – Justin 2010-10-29 16:58:01

+0

我编辑我的答案,包括其他的东西,你可以尝试。 – Greg 2010-10-29 16:59:49