これについてはいくつかの記事を見てきましたが、うまくいかないようです。私は基本的にUITableViewを持っていて、ポップオーバーコントローラの上部にソートボタンが必要です。私はこのポストに従った:開始するためにUIPopoverController toolbar at top。私のコントローラでは、navigationControllerのrootViewControllerですが、私はUISegmentControlを作成して、それを一番上に置きます。しかし、それは中央にないという点で絵のようには見えません。私はポップオーバーにそれを得る方法は、このようなポップオーバーののviewDidLoadであるかもしれないので:UISegmentControlをUIPopoverControllerの上部にあるツールバーの中央に配置する方法
またUISegmentedControl *topSegmentControl = [[UISegmentedControl alloc] initWithItems:[NSArray arrayWithObjects:@"One", @"Two", @"Three", @"Four", nil]];
topSegmentControl.backgroundColor = [UIColor clearColor];
topSegmentControl.segmentedControlStyle = UISegmentedControlStyleBar;
UIBarButtonItem *toolBarCustom = [[UIBarButtonItem alloc] initWithCustomView:topSegmentControl];
// UIBarButtonItem *spaceItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil];
self.navigationItem.leftBarButtonItem = toolBarCustom;
、私はツールバーのpopovercontrollerの下部にあるデータを提示したい場合、私はわからないんだけどどこでそれを行うのですか?同じ例を次に示します。UIPopoverController toolbar at top、私はこのような何かをするだろう、私のnavigationControllerに考えた:
UISegmentedControl *topSegmentControl = [[UISegmentedControl alloc] initWithItems:[NSArray arrayWithObjects:@"BottomOne", @"BottomTwo", @"BottomThree", nil]];
// topSegmentControl.backgroundColor = [UIColor clearColor];
topSegmentControl.segmentedControlStyle = UISegmentedControlStyleBar;
UIBarButtonItem *toolBarCustom = [[UIBarButtonItem alloc] initWithCustomView:topSegmentControl];
UIBarButtonItem *spaceItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil];
NSArray *array = [NSArray arrayWithObjects:spaceItem, toolBarCustom, spaceItem, nil];
[navController setToolbarItems:toolBarCustom];
[navController setToolbarHidden:NO];
私はこれをしようとすると、私はそれで何もツールバーを参照してください、それはの残りの部分よりも軽い色合いですポップオーバー。
要約すると、例のようなナビゲーションコントローラを持つポップオーバーのツールバーまたはbarbuttonitemsをどこで初期化するかについてはわかりません。私はまた、どのようにデータを中心に置くのか分からない。ありがとう。
しかし、UIBarButtonItemはUIViewの子ではありません。 – Crystal
UIBarButtonItemを作成する必要はありません。文字通り 'self.navigationItem.titleView = topSegmentControl'を設定します。 –