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