在IB中创建的UISegmentedControl上设置选定的段

时间:2012-10-15 18:10:02

标签: uisegmentedcontrol

我在IB中创建了5个UISegmetedControls,每个都有3个段。我将选定的段保存在NSArray中。问题是当我想再次加载视图时,选择与之前用户选择的相同的段。如何访问UISegmentedControl?每个控件都有不同的标签值。我是否必须以编程方式创建它们?

EDIT 找到了解决方案: 我为每个控件创建了一个IBOutlet。它有效但可能有更好的解决方案。

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

}

2 个答案:

答案 0 :(得分:0)

您还可以创建IBOUtletCollection(并让所有SegmentedControls成为该集合的成员)。如果它们执行或多或少相同的功能,这仍然很有用,同时仍能通过其标签区分它们。

答案 1 :(得分: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)
}