selectedSegmentIndex不会改变

时间:2015-11-11 19:53:40

标签: ios objective-c uitableview uiswitch

我有一行UITableView,在这行中我有一个带3段的UISwitch。就我而言,我需要获取所选索引,并使用按标签选择的代码:

- (void)viewDidLoad {
[super viewDidLoad];

    UITableViewCell *cellAttachment = [_tableView dequeueReusableCellWithIdentifier:@"MyCell0"];

    UISegmentedControl *btnAttachment = nil;
    btnAttachment = (UISegmentedControl*)[cellAttachment viewWithTag:100];
    NSLog(@"Segment -> %ld",(long)btnAttachment.selectedSegmentIndex);
}

使用此代码,我可以选择段,但是当我尝试使用以下内容更改段时

btnAttachment.selectedSegmentIndex = [self.arrayFields[19] intValue];//Inside this array has a number 1!

什么都没做,问题是什么? (我没有IBOutlet,可能吗?)

1 个答案:

答案 0 :(得分:0)

您可以在没有IBOutlet的情况下执行此操作。您只需从代码中添加动作处理程序(在viewDidLoad中):

[btnAttachment addTarget:self action:@selector(segmentedControlDidChange:) forControlEvents:UIControlEventValueChanged];

然后添加动作方法:

-(void)segmentedControlDidChange:(UISegmentedControl *)sender {
NSLog(@"Segment -> %ld",(long) sender.selectedSegmentIndex);
}