我有一个 NSSegmentedControl,其中两个段在 Interface Builder 中设置为“选择无”模式。无论我尝试什么,我都无法让 -selectedSegment 返回除 0 之外的任何内容,即使段 0 在默认情况下甚至被禁用并且不可能被选中。这是当您单击控件上的任何段时调用的相关函数:
-(IBAction)changeStep:(id)sender
{
[stepContainer setHidden:TRUE];
[(NSView *)[[wizard stepArray] objectAtIndex:(NSInteger)[wizard step]] removeFromSuperview];
switch ([[navigationButton cell] selectedSegment])
{
case 0:
[wizard setStep:(NSInteger *)[wizard step]-1];
break;
case 1:
[wizard setStep:(NSInteger *)[wizard step]+1];
break;
default:
break;
}
//[[navigationButton cell] setSelected:FALSE forSegment:[navigationButton selectedSegment]];
if ([wizard step] > 0)
{
[wizard setStep:0];
[navigationButton setEnabled:FALSE forSegment:0];
}
NSLog(@"%d", [wizard step]);
[stepContainer addSubview:(NSView *)[[wizard stepArray] objectAtIndex:(NSInteger)[wizard step]]];
[stepContainer setHidden:FALSE withFade:TRUE];
}
我也尝试过使用 -isSelectedForSegment,但结果相同。
你能提供的任何帮助都会很棒,我不知道我做错了什么。谢谢!
球猫1
编辑:这是一个面对面的时刻,请参阅下面的答案。