0

NSBoxスライダーの動きに色を塗りたい。次のコードを使用しています。

-(IBAction)slider1move:(id)sender {
    [self.box setFillColor:[NSColor colorWithCalibratedRed: ([self.slider1 floatValue])/255.0 green:0.0 blue:0.0 alpha:0.0]];   
}

私を修正してください。アプリケーションには 3 つのスライダーがあり、それぞれが赤、緑、青の色に対応しています。

スライダーの現在の値に基づいて、スライダーの移動時にボックス内の色を塗りつぶすにはどうすればよいですか。スライダーが 50 の値を表示している場合と同様に、ボックスが赤色の場合は、ボックスの半分が赤色で塗りつぶされている必要があります。

4

2 に答える 2

3

あなたの色を見てください。あなたは完全に透明な色を設定しています -アルファを 0.0に設定しているため、あなたの色は変化していません。

次のように、色をアルファ 1.0 に変更します。

[NSColor colorWithCalibratedRed: ([self.slider1 floatValue])/255.0 green:0.0 blue:0.0 alpha:1.0]
于 2012-05-10T08:40:51.447 に答える
3

NSBoxまず、のsetFillColor:ドキュメントに記載されている要件を満たしていることを確認してください。

レシーバーのボックス タイプ ( boxType)NSBoxCustom とボーダー タイプ ( borderType) がの場合にのみ機能しますNSLineBorder

setNeedsDisplay:それが問題ではないと仮定すると、ボックスを呼び出して新しい色で再描画する必要があるかもしれないと簡単に推測できます.

于 2012-05-08T21:37:25.290 に答える