19

MFMailComposerViewController のナビゲーション ボタンのテキストの色を変更しようとしていますが、iOS 6 のようには機能しません。iOS 6 では、UIAppearance で次のように機能しました。

// Navigation button
UIBarButtonItem *barButton = [UIBarButtonItem appearance];
NSDictionary *barButtonTitleTextAttributes = @{UITextAttributeTextColor: [UIColor redColor]};
NSDictionary *disabledBarButtonTitleTextAttributes = @{UITextAttributeTextColor: [UIColor grayColor]};

[barButton setTitleTextAttributes:barButtonTitleTextAttributes forState:UIControlStateNormal];
[barButton setTitleTextAttributes:disabledBarButtonTitleTextAttributes forState:UIControlStateDisabled];
[barButton setBackgroundImage:[[UIImage imageNamed:@"btn_appearance"] stretchableImageWithLeftCapWidth:6 topCapHeight:0] forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];

しかし、これは iOS 7 では機能せず、常に次のようになります。 ここに画像の説明を入力

また、navigationBar に属性を設定しようとしtintColorましたが、これも効果がありません。

navigationBar.tintColor = [UIColor redColor];

iOS 7 の MFMailComposeViewController でナビゲーション ボタンのテキストの色を変更する方法はありますか?

4

6 に答える 6

3

UIWindowtintColorを設定すると、初めて MFMailComposerViewControllerを表示したときに完全に正常に動作します。後続の呼び出しでtintColor情報が失われるようです。

注: これにより、ウィンドウのすべての要素の色合いが変更されます。

于 2013-10-19T14:16:52.540 に答える