UISegmentedControl
のようにプログラムで追加しようとしてtitleView
いUINavigationController
ます。しかし、それは現れませんでした。さらに調査したところ、 Appleのドキュメントに従ってが設定されていないtitleView
場合、プロパティは無視されることがわかりました。に設定しましたが、セグメント化されたコントロールが表示されません!leftBarButtonItem
nil
nil
以下は私のコードです。
- (void)viewDidLoad
{
[super viewDidLoad];
self.navigationItem.leftBarButtonItem = nil;
UISegmentedControl *statFilter = [[UISegmentedControl alloc] initWithItems:[NSArray arrayWithObjects:@"Personnal", @"Department", @"Company", nil]];
[statFilter setSegmentedControlStyle:UISegmentedControlStyleBar];
self.navigationItem.titleView = statFilter;
}
私は何をすべきか?ここで何が欠けていますか?
ありがとう。
編集:
すべての回答をありがとう。しかし、どれもうまくいかなかったので、詳しく調べてみました。それは私が私のアプリケーションをレイアウトした方法でなければなりません。私はおそらくそれを先に述べるべきだったでしょう。謝罪。
私が作成しているのはストーリーボードアプリです。メインコントローラーはUITabBarController
です。あるタブをクリックすると、を表示したいUITableViewController
。にナビゲーションバーを表示できないので、中にを追加して実装するUITableViewController
必要があることがわかりました。これは私のアプリが基本的にどのように見えるかです、UINavigationController
UITableViewController
そのDashboardViewControllerは、クラスから継承するクラスに接続されていますUINavigationController
。多分これは問題が存在するところですか?
小さなテストアプリを作成したばかりなのでUIViewController
、を埋め込み、UINavigationController
上記の元の質問に投稿したコードをUIViewController
のViewDidLoad内に記述すると、セグメント化されたコントロールが正常に表示されます。他のViewControllerやNavigationControllerに接続されているものがないため、メインアプリで同じことを行う方法がわかりません。
さらに悪化させたらごめんなさい。不明な点があればコメントしてください。