2009-06-27 24 views
6

My Appは、iPhone SDK 3.0の新しいアプリ内電子メール機能を使用します。iPhone SDK 3.0アプリ内メール - ナビゲーションバーの色調を変更する

電子メールUIの色合いを黒に変更して半透明にしたいとします。

私は、

/* 
picker.navigationController.navigationBar.tintColor = [UIColor blackColor]; 
picker.navigationController.navigationBar.translucent = YES ; 
*/ 

を次のコードを試してみました。しかし、それはむしろ、作成ウィンドウ自体よりも、作成ウィンドウ、

MFMailComposeViewController *picker = [[MFMailComposeViewController alloc] init]; 

を作成し、ビューの色を変えることです。

これは少なくとも可能ですか?それとも、私たちはAppleにブルーを提供しなければならないのですか?

答えて

0

はい可能です。

drawINRectメソッドをオーバーライドするUINavigationBarクラスにobjective-cカテゴリを追加するだけです。 このようにして、やりたいことができます。

欠点

は、すべてのあなたのナビゲーションバーが

+0

これを行うとアプリが承認されるかどうかわかりません。 – Grouchal

+0

これはAppleには問題ありません。これはまさに私のアプリ(もちろん、UINavigationBarのサブクラス)で行ったことであり、Apple(公式のDave Matthews Bandアプリ)の承認を受けています。 drawINRectをインターセプトすることで何も問題はありません:カスタムUINavigationBarの外観を実現する。 – LucasTizma

5

MFMailComposeViewControllerはUINavigationControllerのサブクラスで、簡単にこれを行うので:

[[picker navigationBar] setTintColor:[UIColor redColor]]; 
0

ます。また、このコードを試すことができます....

MFMailComposeViewController *mailComposeView = [[MFMailComposeViewController alloc] init]; 
mailComposeView.navigationBar.tintColor = [UIColor cyanColor]; 
0

[[ピッカーnavigationBar] setTintColor:[UIColor黒色]];

.... [キャンセル]ボタンと[送信]ボタンも黒くなります。彼らは青ではなく、押されても色が変わらない。

関連する問題