ナビゲーションバー内にセグメント化されたコントロールを追加する方法に関するコードを誰かが手伝ってくれるでしょうか....私はいくつかのアプリケーションでそれを見て、それを実装したいと思っています
ありがとう
ナビゲーションバー内にセグメント化されたコントロールを追加する方法に関するコードを誰かが手伝ってくれるでしょうか....私はいくつかのアプリケーションでそれを見て、それを実装したいと思っています
ありがとう
Interface Builderを使用しますか、それともコードのみで使用しますか?
IBの操作は非常に簡単で、セグメント化されたコントロールをドラッグするだけで、タイトルが配置されているナビゲーションバーに配置できます。タイトルは、セグメント化されたコントロールに置き換えられます。
これをコードで実行したい場合は、iPhoneリファレンスライブラリのこのセクションを参照してください。ナビゲーションアイテムのプロパティを、UIViewのサブクラスであるセグメント化されたコントロールに設定する必要があるようですtitleView
。したがって、これは完全に合法です。
でviewDidLoad
:
obj-c:
NSArray *segmentTitles = @[
@"segment1",
@"segment2",
];
UISegmentedControl *segmentedControl = [[UISegmentedControl alloc] initWithItems:segmentTitles];
segmentedControl.selectedSegmentIndex = 0;
segmentedControl.autoresizingMask = UIViewAutoresizingFlexibleWidth;
// change the width from 400.0 to something you want if it's needed
segmentedControl.frame = CGRectMake(0, 0, 400.0f, 30.0f);
[segmentedControl addTarget:self action:@selector(segmentChanged:) forControlEvents:UIControlEventValueChanged];
self.navigationItem.titleView = segmentedControl;
迅速:
let segmentTitles = [
"segment1",
"segment2",
]
let segmentedControl = UISegmentedControl(items: segmentTitles)
segmentedControl.selectedSegmentIndex = 0
segmentedControl.autoresizingMask = UIViewAutoresizing.FlexibleWidth
// change the width from 400.0 to something you want if it's needed
segmentedControl.frame = CGRectMake(0, 0, 400.0, 30.0)
segmentedControl.addTarget(self, action: "segmentChanged:", forControlEvents: UIControlEvents.ValueChanged)
self.navigationItem.titleView = segmentedControl