0

我有一个 UINavigationController,我的 AHViewController 作为根视图控制器。

然后我尝试从 AHViewController 的 viewDidLoad 中添加一个左栏按钮项:

UIButton * backButton = [UIButton buttonWithType:UIButtonTypeCustom];
    [backButton addTarget:self action:@selector(backButtonPressed) forControlEvents:UIControlEventTouchUpInside];
    [backButton setImage:[UIImage imageNamed:@"grid.png"] forState:UIControlStateNormal];
    UIBarButtonItem *backButtonBarItem = [[UIBarButtonItem alloc] initWithCustomView:backButton];
    //[self.navigationItem setLeftBarButtonItem:backButtonBarItem];
    [self.navigationController.navigationItem setLeftBarButtonItem:backButtonBarItem];
    [backButtonBarItem release];

但是,我什么也没看到。为什么是这样?

4

2 回答 2

1

代替:

[self.navigationController.navigationItem setLeftBarButtonItem:backButtonBarItem];

做这个:

[self.navigationItem setLeftBarButtonItem:backButtonBarItem];

UINavigationController 使用顶部视图控制器的 navigationItem,而不是它的(UINavigationController 的)导航项属性。

于 2012-04-30T22:20:43.340 回答
0

感谢“Simon Golden”回答为我工作。

之前:(这不显示我的按钮)

self.navigationItem.LeftBarButtonItem: backButtonItem;

之后:(为我工作,按钮出现)

[self.navigationItem setLeftBarButtonItem: backButtonItem];

如果 StoryBoard 在 ViewController 中没有 LeftBarButtonItem 和 RightBarButtonItem,我们必须设置 Button(setLeft/RightBarButtonItem)。

否则只需简单更改项目的属性(self.navigationItem.Left/RightBarButtonItem)

于 2015-08-29T19:55:28.357 回答