10

iOS 7 で UISegmentedControl の色を変更したいのですが、Interface Builder でティント カラーを変更すると、一部がティント カラーで描画され、一部が標準の青で描画されます。

画像はこれをより明確にする必要があります。色合いとして赤を選択しました。

ここに画像の説明を入力

シミュレーターとデバイスの両方で同じ動作が得られます。

セグメント化されたコントロールの項目をタップすると、要求された色合いで再描画されます。

で色合いを指定するとviewDidLoad、すべてが正しく機能します。

[segmentedControl setTintColor:[UIColor colorWithRed:1.0 green:0.0 blue:0.0 alpha:1.0]];

Interface Builder の色が機能しないのはなぜですか?

(コントロールが最初に描画された時点で color プロパティが正しく適用されていないように感じますが、それを裏付ける証拠はありません。)

4

2 に答える 2

0

コードを書きたくない場合は、ストーリーボードで実行できる別の回避策があります。

ビューの tintColor をデフォルトのままにします。これでセグメント制御が機能します。欠点は、ビューの各コンポーネントに tintColor を設定する必要があることです。

于 2014-02-17T13:10:11.950 に答える