Interface Builder で「Select None」モードに設定された 2 つのセグメントを持つ NSSegmentedControl があります。何を試しても、-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
編集:これはフェイスパームの瞬間です。以下の私の答えを見てください。