0

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

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

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

}

4

2 回答 2

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 回答
0

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

于 2013-02-08T19:02:46.930 回答