7

右の BarButton を正常に追加したナビゲーション バーがあります。NavigationBar と BarButton はどちらもプログラムで作成されます。ここで、私の要件に従って、ナビゲーション バーに 2 つの右の BarButtons を追加する必要があります。誰でもこれを行う方法を教えてもらえますか? 私のアプリは ios4 を対象としています。

4

6 に答える 6

15

このコードはあなたのためにトリックを行います、

 NSArray *barButtonItems= [[NSArray alloc] initWithObjects:self.addButton,self.sortbyButton,nil];
self.navigationItem.rightBarButtonItems=barButtonItems;

ここで、addButtonとsortbyButtonは2つの別個のBarButtonアイテムです。

于 2012-08-27T06:33:13.960 に答える
2

遅すぎることはわかっていますが、最近直面しました。コードで UIView を作成し、ボタンをサブビューとしてこのビューに追加します。[[UIBarButtonItem alloc] initWithCustomView:buttons] を使用して ToolbarButton を作成します。

必要に応じて、このツールバー ボタンを左または右の barbuttonItem として割り当てます。

于 2012-12-18T18:28:58.353 に答える
0

@Matthias、ドキュメントに記載されているように、rightBarButtonItemsプロパティは iOS 5 以降で使用でき、この関数は iOS 4 でもサポートする必要があります。

したがって、UISegmentControl はこれを実現するための最良の方法です。

于 2012-08-27T06:31:15.073 に答える
0

UINavigationItem1のドキュメントで説明されているように、 の配列を指定できるプロパティrightBarButtonItems(および) があります。右 (インデックス 0) から左 (インデックス n-1) に表示されます。leftBarButtonItemsUIBarButtons

于 2012-08-27T06:21:43.973 に答える
0

アプリケーションが iOS 4 以降をターゲットにしている場合は、UISegmentControl を取得して、2 つのセグメントを含める必要があります。値が変更されたアクション イベントをキャッチし、どのセグメントが選択されているかを確認して、それに応じて操作します。

イメージをセグメントに設定して、見栄えを良くすることもできます。

于 2012-08-27T06:27:04.963 に答える
0
NSArray *segmentTextContent = [NSArray arrayWithObjects:
                               NSLocalizedString(@\"Group By\", @\"\"),
                               NSLocalizedString(@\"Filter By\", @\"\"),
                               nil];
UISegmentedcontrol *segmentedControl = [[UISegmentedControl alloc] initWithItems:segmentTextContent];
segmentedControl.selectedSegmentIndex = 0;
segmentedControl.autoresizingMask = UIViewAutoresizingFlexibleWidth;
segmentedControl.segmentedControlStyle = UISegmentedControlStyleBar;
segmentedControl.frame = CGRectMake(0, 0, 125, 30);
[segmentedControl addTarget:self action:@selector(toggleUnit) forControlEvents:UIControlEventValueChanged];

segmentedControl.tintColor = [UIColor lightGrayColor];
defaultTintColor = [segmentedControl.tintColor retain];

self.navigationItem.rightBarButtonItem = segmentedControl;
[segmentedControl release];

于 2012-08-27T06:38:58.033 に答える