0

私はユーザーが選択できるカスタムカラーの背景を持っていますが、これは、ユーザーが色を変更すると、背景と同じであり、これを望まないため、ラベルが表示されないことを意味します。私が持っているコードは次のとおりですopacityLabel.textColor = bgView.backgroundColor;。このコードのビットでは、色は最初は同じですが、背景色を調整しても変化しません。また、背景色に合わせて色を継続的に変更する必要があります。何ができるのか疑問に思いました。ラベルを反対の色にするために「=」に置き換えます。「!=」はできません。これは、反対ではなく、等しくないことを意味します。あなたがこのようにそれをすることができないならば、あなたはそれをする方法を私に提供することができますか?

4

1 に答える 1

1

最初に行う必要があるのは、反対の色を計算し、backgroundColorそれをtextColorプロパティに割り当てることです。

これを行うには、getRed:green:blue:alpha:メソッド onを使用する必要がありますbackgroundColor。これにより、色の各コンポーネントに対して 0.0 から 1.0 の間の値が得られます。次に、UIColorクラス メソッドcolorWithRed:green:blue:alpha:を使用して新しい を作成しますUIColorが、各コンポーネントには (1.0 - コンポーネント値) を使用します。

次に、最後に新しい色をに割り当てますopacityLabel.textColor

于 2013-01-03T10:57:44.923 に答える