2011-09-07 6 views
1

NSTextFieldの内容を更新するNSSliderがあります。ここまでは順調ですね。これは、NSTextFieldがフォーカスされていないか、ユーザーが編集した(空白を入力するか空白にするなど)限り、機能します。NSTextFieldの内容をフォーカスしたときにコードで変更する/ユーザが編集するとき

私が仕事をしようとしているのは、ユーザーが何をしているかにかかわらず、コードを介してNSTextFieldの更新を強制することです。スライダーのコードだ

は値イベントを変更:

-(IBAction) sliderTempoMoved: (id)sender{ 
[soundEngine setTempo:[sender floatValue]]; 

[labelTempo setStringValue:[NSString stringWithFormat:@"%0.2f%",[sender floatValue]]]; 
NSLog(@"slideTempoMoved: %f",[sender floatValue]); 
} 

setStringValue方法は限りNSTextFieldが...この問題の

任意の手掛かりを編集しませんように動作?

よろしく、 アレックス

答えて

1

私はこれがどのように多くの助けを知りませんが、私はあなたのコードを試してみましたNSTextFieldが、それは現在編集中ですか否かが更新されます。自分のNSTextFieldプロパティを照合します。おそらく何かが更新されないようにしているかもしれません。

setStringValueの呼び出しの前に[labelTempo abortEditing]に電話をかけてみることもできます。

NSTextField Properties

+0

まあ...私はバグを発見しました。私はNumberFormatted NSTextFieldを使用し、渡された文字列には間違った小数点記号が付きました。 setFloatValueを使用してもsetStringValue ...ではできませんでした! – ghostrifle

関連する問題