0

それぞれ3つのセグメントを持つIBで5つのUISegmetedControlsを作成しました。選択したセグメントをNSArrayに保存します。問題は、ユーザーが以前に選択したのと同じセグメントを選択して、ビューを再度ロードしたい場合です。UISegmentedControlにアクセスするにはどうすればよいですか?各コントロールには異なるタグ値があります。プログラムで作成する必要がありますか?

編集解決策を見つけました:コントロールごとにIBOutletを作成しました。それは機能しますが、より良い解決策があるかもしれません。

@interface UISegmentedControlViewController : UIViewController {
IBOutlet UISegmentedControl *Segment1;
IBOutlet UISegmentedControl *Segment2;
IBOutlet UISegmentedControl *Segment3;

}

4

2 に答える 2

0

IBOUtletCollectionを作成することもできます(すべてのSegmentedControlsをそのコレクションのメンバーにすることもできます)。これは、タグを介して区別できる一方で、ほぼ同じ機能を実行する場合に役立ちます。

于 2013-02-08T19:02:46.930 に答える
0

NSArray選択したセグメントのインデックスが格納されていると仮定します。

-(void)viewDidLoad{

    Segment1.selectedSegmentIndex = [[array objectAtIndex:0] integerValue];// First index  (0,1 or 2)
    Segment2.selectedSegmentIndex = [[array objectAtIndex:1] integerValue];// Second index (0,1 or 2)
    Segment3.selectedSegmentIndex = [[array objectAtIndex:2] integerValue];// Third index  (0,1 or 2)
}
于 2013-05-02T17:42:12.970 に答える