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 分! 素晴らしい時間です!