1

我正在使用UIApperance设计我的 iOS 应用程序。我已经设法使我的所有UINavigationBar中的所有条形按钮项都具有灰色文本,除了一个特定的按钮 - MFMessageComposeViewController视图的发送按钮保持其默认的白色。为什么我的代码针对除此之外的每个按钮?

在此处输入图像描述

NSDictionary* normalStyle = [NSDictionary 
    dictionaryWithObjects:[NSArray 
        arrayWithObjects:
            [UIColor navigationTextNormalColor],
            [UIColor whiteColor],
            [NSValue 
                valueWithUIOffset:UIOffsetMake(
                    0, 
                    1
                )
            ]
            , nil
        ]
        forKeys:[NSArray
            arrayWithObjects:
                UITextAttributeTextColor,
                UITextAttributeTextShadowColor,
                UITextAttributeTextShadowOffset,
                nil
        ]
];

[[UIBarButtonItem appearanceWhenContainedIn:[UINavigationController class], nil] 
    setTitleTextAttributes:normalStyle
    forState:UIControlStateNormal
];

[[UINavigationBar appearanceWhenContainedIn:[UINavigationController class], nil] 
    setTintColor:[UIColor navigationBarTintColor]
];
4

1 回答 1

0

根据文档:

http://developer.apple.com/library/ios/#documentation/MessageUI/Reference/MFMailComposeViewController_class/Reference/Reference.html

重要邮件撰写界面本身是不可定制的,并且不能由您的应用程序修改。此外,在呈现界面后,您的应用程序不允许对电子邮件内容进行进一步的更改。用户仍然可以使用界面编辑内容,但程序更改会被忽略。因此,您必须在呈现界面之前设置内容字段的值。

于 2012-05-28T04:18:03.633 回答