我在IB中创建了5个UISegmetedControls,每个都有3个段。我将选定的段保存在NSArray中。问题是当我想再次加载视图时,选择与之前用户选择的相同的段。如何访问UISegmentedControl?每个控件都有不同的标签值。我是否必须以编程方式创建它们?
EDIT 找到了解决方案: 我为每个控件创建了一个IBOutlet。它有效但可能有更好的解决方案。
@interface UISegmentedControlViewController : UIViewController {
IBOutlet UISegmentedControl *Segment1;
IBOutlet UISegmentedControl *Segment2;
IBOutlet UISegmentedControl *Segment3;
}
答案 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)
}