2012-01-09 6 views
8

UIBarButtonItemtintColorを設定しています。これは、色が明るい色である限り動作し、darkGrayColorに設定しようとすると、何も起こりません。実際には色が白に変わります!しかし、色をredColorに変更すると、それは動作します...ここでは何が起こっていますか?UIBarButtonItem setTintColorが暗い色で機能しない

UIBarButtonItem *penButton = [_toolBar.items objectAtIndex:3]; 
UIBarButtonItem *crossButton = [_toolBar.items objectAtIndex:4]; 

//This actually sets the tint to white not gray, which is odd? 
[penButton setTintColor:[UIColor darkGrayColor]]; 
[crossButton setTintColor:[UIColor redColor]]; //Red is fine, as is green etc 
+1

カスタムカラー(RGB値)を入力して、結果をチェックしましたか? – Till

+0

いいアイデアだが、どちらもうまくいかないようだが、私は結果を質問に更新する。 – Chris

+1

色合いを変えずに新しいアルファを設定した! – Chris

答えて

1

[UIColor redColor][UIColor darkGrayColor]の違いは、前者はグレースケールとRGB値と後者を使用して設定され、UIBarButtonItemは何とか階調を無視していることです。あなたは比較することによって、この理論をテストすることができます。

[penButton setTintColor:[UIColor colorWithRed:0.5 green:0.5 blue:0.5 alpha:1.0]]; 

[penButton setTintColor:[UIColor colorWithWhite:0.5 alpha:1.0]]; 

予想通り、前者があるが、後者ではない、問題は、グレースケールで実際にある場合。それ以外の場合、私はこの現象を引き起こす原因は何もわかりません。

+0

私はそれを試してみましたが、それはまだ白として出てきました.0.2にアルファを設定して、私が望む効果を得ましたが、明らかに元の質問に答えられないままにしておきます! – Chris

+0

@Chris面白いです。あなたは 'UIColor'や' UIBarButtonItem'のアルファ値を設定するのですか? – PengOne

+0

私はあなたの例としてUIColorのアルファを意味しました! – Chris

関連する問題