19

iPhone アプリで色付きのナビゲーション バーと色付きのグローバル UIToolbar を使用しています。私の情報ビューには、MFMailComposeViewController を開くボタンがあり、そのビューの上部にあるツールバー (「キャンセル」と「送信」ボタンを含む) はまだ青色です。次のように MFMailComposeViewController を呼び出しています。

-(void)displayMailSheet
{

    MFMailComposeViewController *picker = [[MFMailComposeViewController alloc] init];
    picker.mailComposeDelegate = self;

    [picker setSubject:@"..."];

    NSArray *toRecipients = [NSArray arrayWithObject:@"..."]; 

    [picker setToRecipients:toRecipients];

    [self presentModalViewController:picker animated:YES];
    [picker release];

}

そのビューのツールバーの色を変更することはできますか? 可能であれば、どうすればこれを行うことができますか?

4

6 に答える 6

39

どうぞ:

[[picker navigationBar] setTintColor:[UIColor blackColor]];

iOS8.0の場合

 [[picker navigationBar] setBarTintColor:[UIColor blackColor]];
于 2009-11-15T15:38:06.373 に答える
12

iOS7 でのこの機能に関するマイナー ポイント - ティント カラー プロパティは、バー全体の色に影響を与えなくなり、代わりに「送信」ボタンと「キャンセル」ボタンの色を変更するだけです (iOS7 スタイルでは、単純に着色ラベル)。

iOS7 では送信ボタンとキャンセル ボタンが表示されなくなるため、タイトル バーの色を白や透明などに変更した場合は注意が必要です。

于 2013-10-01T09:41:14.920 に答える
5

appdelegate からグローバルに実行できます

[[UINavigationBar appearance] setBackgroundImage:[UIImage imageNamed:@"navigationbar-background.png"] forBarPosition:UIBarPositionTopAttached barMetrics:UIBarMetricsDefault]; // MFMailComposeViewController's navigationBar backgroundcolor 

NSDictionary *textTitleOptions = [NSDictionary dictionaryWithObjectsAndKeys:[UIColor darkGrayColor], UITextAttributeTextColor, [UIColor whiteColor], UITextAttributeTextShadowColor, nil];
[[UINavigationBar appearance] setTitleTextAttributes:textTitleOptions];//MFMailComposeViewController's navigationBar text color 
于 2013-11-19T15:37:15.310 に答える
3

Apple があなたのアプリケーションを拒否したという上記の投稿は古い投稿であることを強調したいだけです。これは、現在の MFMailComposeViewController ドキュメントからの引用です...

重要: このクラスのビュー階層は非公開であるため、変更しないでください。ただし、UIAppearance プロトコルを使用して、インスタンスの外観をカスタマイズできます。

于 2013-11-07T07:29:26.170 に答える
2

これを試して:

MFMailComposeViewController *mailController  = [MFMailComposeViewController new];

[mailController.navigationBar setTintColor:[UIColor colorWithHue:240.0f/359.0f
                                                      saturation:85.0f/100.0f 
                                                      brightness:60.0f/100.0f 
                                                           alpha:0.0f]];
于 2012-06-26T07:29:33.180 に答える
-3

公式の MFMailComposeViewController クラス リファレンスから:

重要: メール作成インターフェース自体はカスタマイズできないため、アプリケーションで変更しないでください。[...]

何も変更せずにデフォルトのメール作成インターフェースを提示する方が良い選択だと思います。そうしないと、Apple がアプリケーションを拒否する場合があります。

誰かがこのように経験したかどうかここで聞いてみましょう。

于 2009-12-20T18:07:44.147 に答える