1

MFMailComposeViewController のナビゲーション バーに問題があります。

plistファイルで「ステータスバースタイル」を「UIStatusBarStyleLightContent」に設定したアプリがあります。MFMailComposeViewController を呼び出す場合を除いて、すべてのビューで完全に機能します。黒に戻ります。残りは大丈夫です。持ち越すカスタム イメージがあり、ティント カラーを問題なく設定できます。誰でもこれを修正する方法を知っていますか? メールで「ステータスバーのスタイル」を「UIStatusBarStyleLightContent」にリセットするには?

AppDelegate で

[[UINavigationBar appearance] setBackgroundImage:[UIImage imageNamed:@"headerLogo.png"] forBarMetrics:UIBarMetricsDefault];

通話メール

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

    [[mailController navigationBar] setTintColor:[UIColor whiteColor]];
    [[mailController navigationBar] setBarTintColor:[UIColor whiteColor]];

    [self presentViewController:mailController animated:YES completion:nil];
4

2 に答える 2

1

MFMailViewController で barStyle を設定することは、Apple のコードにプライベート API がない限りアクセスできないと思います。アプリ デリゲートで UINavigationBar を特定の画像に設定できる理由は、アプリ デリゲートでは、MFMailViewController のナビゲーション バーの淡い色ではなく、UINavigationBar クラスの外観を呼び出しているためです。

お役に立てれば

于 2013-10-28T21:02:30.047 に答える
0

info.plist に新しい行を追加します。

UIViewControllerBasedStatusBarAppearance

次のように設定します。

いいえ

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

[self presentViewController: mail animated: YES completion: ^ {
    [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];

}];
于 2016-11-22T09:20:47.677 に答える