将segmentedController设置为Dictionaries的NSArray

时间:2014-10-20 00:41:36

标签: ios objective-c dictionary nsarray uisegmentedcontrol

我在视图控制器A中有这个字典的NSArray,然后当按下btn 1或btn 2时我将此segmentArray发送到viewController B然后我想将视图控制器B中的分段控制器设置为相应的btn被压了

NSArray *segmentArray = [NSArray arrayWithObjects:@{@"title":firstBtnString, @"number":@"0"}, @{@"title":twoBtnString, @"number":@"1"}, nil];

然后设置分段控制器我这样做

 NSMutableArray *segmentArrayTitles = [[NSMutableArray alloc] init];
NSMutableArray *segmentArrayNumber = [[NSMutableArray alloc] init];

for (int i = 0; i < segmentArray.count; i++) {
    [segmentArrayTitles addObject:segmentArray[i][@"title"]];
    NSInteger value =  [segmentArray[i] integerValue];
    [segmentArrayNumber addObject:[NSNumber numberWithInteger:value]];

}


UISegmentedControl *segmentedControl = [[UISegmentedControl alloc] initWithItems:segmentArrayTitles];
segmentedControl.frame = CGRectMake(20, 9, 280, 29);
[segmentedControl addTarget:self action:@selector(selectMeal:) forControlEvents: UIControlEventValueChanged];
[self.smallView addSubview:segmentedControl];
//Here I want to set the segmented controller to the correspoding value depending on which btn was pressed

我将如何做到这一点?

所以重申我想将分段控制器设置为按下的corseting btn。

感谢您的帮助。

修改

所以在ViewControllerA上,我在自定义tableview单元格中有2个按钮,我们将它们称为Btn 1和Btn 2.当按下任一按钮时,它将转到ViewController B.在视图控制器BI中,想要将分段控制器设置为标题视图控制器A中的按钮,并将其设置为按下的按钮。

这更有意义吗?

由于

1 个答案:

答案 0 :(得分:0)

好的,根据您的编辑,这是一个新答案:

为视图控制器A提供一个名为index的NSInteger属性,此代码为:

- (IBAction)buttonAAction:(id)sender {
    [self setIndex:0];
}

- (IBAction)buttonBAction:(id)sender {
    [self setIndex:1];
}

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
    ChildViewController *controller = segue.destinationViewController;
    [controller setSegment:self.index];
}

视图控制器B获取IBOutlet到其分段控件和此代码:

- (void)viewDidLoad {
    [super viewDidLoad];
    [self.segmentedControl setSelectedSegmentIndex:self.segment];
}

在故事板中,在视图控制器A中设置两个按钮,在视图控制器B中设置分段控件。然后进行两个分段:一个从按钮A到视图控制器B,一个从按钮B到视图控制器B.

希望这有帮助。