У меня есть NSSegmentedControl с двумя сегментами, установленными в режим «Выбрать None» в Интерфейсном Разработчике. Независимо от того, что я пытаюсь, я не могу получить -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, но у него тот же результат.
Любая помощь, которую вы можете оказать, была бы потрясающей, я понятия не имею, что я делаю неправильно. Спасибо!
SphereCat1
РЕДАКТИРОВАТЬ: Это момент лицевой стороны лица, см. Мой ответ ниже.