0

ルートビューコントローラーとしてAHViewControllerを使用するUINavigationControllerがあります。

次に、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は、(UINavigationControllerの)ナビゲーションアイテムプロパティではなく、トップビューコントローラーのnavigationItemを使用します。

于 2012-04-30T22:20:43.340 に答える
0

ありがとう「SimonGolden」AnswerWorkforme。

前:(これは私のボタンに表示されません)

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 に答える