3

UISegmentedControlビューの下部に表示されるツールバーを追加しようとしています。私はUITableViewController、タブバー コントローラーに組み込まれているナビゲーション コントローラーに組み込まれている 内にいます。いつものドリルダウン。このツールバーをこの特定のタブ ビューにのみ表示したい。ストーリーボードを使用しています。

IB(ストーリーボード)でセグメント化されたコントロールを作成し、そのアイテムを構成して、ビューコントローラーカタログ内に配置しようとしました(ストーリーボードのビューコントローラーの下にある灰色のバー)

絵コンテ

このセグメント化されたコントロールのrefアウトレットをviewcontroller.hに追加してから、navcontrollerツールバーを再表示して、このアイテムを追加しようとしています

self.navigationController.toolbarHidden = NO;

UIBarButtonItem *segmentBarItem = [[UIBarButtonItem alloc] initWithCustomView:myOutletSegmentedControl];
self.navigationController.toolbar.items = [NSArray arrayWithObjects:segmentBarItem, nil];

したがって、myOutletSegmentedControlIBで完全に構成したにもかかわらず、初期化されていません。プログラムで試してみました:

self.navigationController.toolbarHidden = NO;

UISegmentedControl *segmentedControl = [[UISegmentedControl alloc] initWithItems:
                                        [NSArray arrayWithObjects:@"a-b",@"b-a",nil]];

[segmentedControl addTarget:self action:@selector(segmentAction:) forControlEvents:UIControlEventValueChanged];
segmentedControl.frame = self.navigationController.toolbar.frame;
segmentedControl.segmentedControlStyle = UISegmentedControlStyleBar;
segmentedControl.momentary = NO;

UIBarButtonItem *segmentBarItem = [[UIBarButtonItem alloc] initWithCustomView:segmentedControl];
self.navigationController.toolbar.items = [NSArray arrayWithObjects:segmentBarItem, nil];

下部にツールバーが表示されるようになりましたが、アイテムはありません..

IB でツールバー全体 -> 子ボタン -> 子セグメント化されたコントロールを作成して、それを出力してから、次のようにしました。

 self.navigationController.toolbar = myNewOutletToolbar;

まだ行きません。ストーリーボード/IB を使用して UI を作成することを好みますが、その上で髪を引っ張っています...

4

0 に答える 0