web-dev-qa-db-ja.com

UISegmentedControlテキストをプログラムで

インターフェイスビルダー(ストーリーボードから)を使用して2つのセグメントを持つUISegmentedControlを作成しましたが、2つのセグメントのテキストをプログラムで設定したいと思います。 NSLocalizedStringをすべてのボタン、ラベル、タイトルなどに使用しているため、これを行いたいと思います。インターフェイスビルダーですべてのものを作成し、プログラムでテキストを追加します。私はすべてのアイテムをそのように動作させることができましたが、UISegmentedControlにテキストを追加する方法を見つけることができません。

それを行う方法はありますか?私は次のものを使用しようとしていますが、セグメント化されたコントロールはすでにインターフェースビルダーで作成されているため、動作しません。

[segmentedControl initWithItems:[NSArray arrayWithObjects:NSLocalizedString(@"Title 1", @"Title 1"),NSLocalizedString(@"Title 2", @"Title 2"), nil]];

どうもありがとう

62
user1015777
[segmentedControl setTitle:<YourLocalizedString> forSegmentAtIndex:0];
186
shabbirv

setTitle:forSegmentAtIndex: を使用して、セグメント化されたコントロールのセグメントにタイトルを割り当てます。

これがあなたのお役に立てば幸いです。

9
Obliquely

Swift 4を使用している人々に対する正しい答えは

segmentedControl.setTitle("Your Title", forSegmentAt: 0)
9
Kevin Singh

以下の簡単なコードを使用して、UISegmentedControlタイトルをプログラムで設定します;

//。hファイル:

@property (weak, nonatomic) IBOutlet UISegmentedControl *segmentControl;

// .m file:

- (void)viewDidLoad { [super viewDidLoad]; [self.segmentControl setTitle:@"Love It" forSegmentAtIndex:0]; [self.segmentControl setTitle:@"Hate It" forSegmentAtIndex:1]; [self.segmentControl setTitle:@"Ehh" forSegmentAtIndex:2]; }

0
Kiran jadhav