0

UINavigationBar の中央 (titleView 内) にカスタム ボタンを挿入しようとしました。これは最初のレベルでも機能しますが、この TableView で 1 つのセルを選択して次のコントローラーにプッシュすると、2 番目のコントローラーにもこのボタンを挿入できません。Right- と LeftBarButtonItem は表示されますが、titleView は表示されません。

デフォルト設定で作業してviewController.titleを使用すると、このnavigationBarのtitleViewに表示されますが、カスタムビューは表示されません。

両方のコントローラーの私のコードは

UIButton *centerNavigationButton = [UIButton buttonWithType:UIButtonTypeCustom];
[centerNavigationButton setBackgroundImage:[UIImage imageNamed: @"buttonImage.png"] forState:UIControlStateNormal];

centerNavigationButton.frame = (CGRect) {
  .size.width = 100,
  .size.height = 20,
};
[centerNavigationButton addTarget:self action:@selector(scrollToTop) forControlEvents:UIControlEventTouchUpInside];
[self.navigationController.navigationBar.topItem setTitleView:centerNavigationButton];

私はそれを1日以上検索しましたが、第2レベルの問題はどこにも見つかりませんでした.

ご協力いただきありがとうございます。


編集:

解決策は、私が書かなければならない最初のTableViewControllerで@Martin Rによって見つかりました

UIButton *centerNavigationButton = [UIButton buttonWithType:UIButtonTypeCustom];
[centerNavigationButton setBackgroundImage:[UIImage imageNamed: @"buttonImage.png"] forState:UIControlStateNormal];

centerNavigationButton.frame = (CGRect) {
  .size.width = 100,
  .size.height = 20,
};
[centerNavigationButton addTarget:self action:@selector(scrollToTop) forControlEvents:UIControlEventTouchUpInside];
[self.navigationController.navigationBar.topItem setTitleView:centerNavigationButton];

第 2 レベル:

UIButton *centerNavigationButton = [UIButton buttonWithType:UIButtonTypeCustom];
[centerNavigationButton setBackgroundImage:[UIImage imageNamed: @"buttonImage.png"] forState:UIControlStateNormal];

centerNavigationButton.frame = (CGRect) {
  .size.width = 100,
  .size.height = 20,
};
[centerNavigationButton addTarget:self action:@selector(scrollToTop) forControlEvents:UIControlEventTouchUpInside];
[self.navigationItem setTitleView:centerNavigationButton];

質問はクローズできます。

どうもありがとう!質問を書いてから解決策を見つけるまで 25 分! 素晴らしい時間です!

4

1 に答える 1

0

titleViewビューコントローラーのを設定する必要があると思いますnavigationItem

self.navigationItem.titleView = centerNavigationButton;
于 2012-09-12T11:32:14.473 に答える