0

UINavigationController のタイトル内に UISegmentedControl を追加しようとしています。ただし、フォーマットは次のようになります (つまり、醜い)。

ここに画像の説明を入力

こんな感じにしたい時(かなり:)。誰か助けてくれませんか??

ここに画像の説明を入力

ここでRed Artisan による人気のある例を読みました。しかし、(Red Artisan のように) これを最初のビューとして表示していないので、App Delegate から多くのコードを移動しました。App Delegate では、この画面を rootView が UIViewController の UINavigationController になるように設定します。

GenInfoViewController *genInfoController = [[GenInfoViewController alloc] initWithNibName:@"GenInfoViewController" bundle:nil];

UINavigationController *genInfoNavController = [[UINavigationController alloc] initWithRootViewController:genInfoController];

次に、GenInfoViewController.m の viewDidLoad で次のことを行います。

self.segmentedControl = [[UISegmentedControl alloc] initWithItems:@[@"Info",@"Map"]];
self.navigationItem.titleView = self.segmentedControl;
4

2 に答える 2

0

セグメント化されたコントロールのスタイルを設定するには、segmentedControlStyleプロパティを次のいずれかに設定します。

UISegmentedControlStylePlain
UISegmentedControlStyleBordered
UISegmentedControlStyleBar
UISegmentedControlStyleBezeled

例えば:

self.segmentedControl = [[UISegmentedControl alloc] initWithItems:@[@"Info",@"Map"]];
self.segmentedControl.segmentedControlStyle = UISegmentedControlStyleBordered;
self.navigationItem.titleView = self.segmentedControl;

     セグメントコントロールのスタイリングに関して、ここにいくつかの関連するQ+Aがあります。

カスタムのセグメント化されたコントロールを試してみたい場合は、利用可能なすべてのCocoaControlsCocoaPodsをチェックしてください。

于 2013-03-23T14:41:45.660 に答える
0

はい、UISegmentedコントロールにプロパティ「segmentedControlStyle」を設定する必要があります。

オプションは次のとおりです。

typedef enum {
   UISegmentedControlStylePlain,
   UISegmentedControlStyleBordered,
   UISegmentedControlStyleBar, // This is probably the one you want!
   UISegmentedControlStyleBezeled,
} UISegmentedControlStyle;

したがって、次の方法でうまくいくはずです。

self.segmentedControl = [[UISegmentedControl alloc] initWithItems:@[@"Info",@"Map"]];
self.segmentedControl.segmentedControlStyle = UISegmentedControlStyleBar;
self.navigationItem.titleView = self.segmentedControl;

セグメント化されたコントロールの「tintColor」も設定することも検討してください。

self.segmentedControl = [UIColor blackColour];

次のようなものが残ります:

UISegmented Control

もちろん、他にもたくさんのカスタマイズができます。こちらのドキュメントをご覧ください:http://developer.apple.com/library/ios/#documentation/uikit/reference/UISegmentedControl_Class/Reference/UISegmentedControl.html

于 2013-03-23T14:42:00.570 に答える