这个问题是针对运行 iOS 7 的 Xcode 5 的,非常奇怪。我正在尝试将所有 UInavigation 和 UIBarButtonItem 文本颜色设置为白色。
所以在我的应用启动委托(delegate)中,我将代码设置为。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
UIImage *NavigationPortraitBackground = [UIImage imageNamed:@"button_header_blue"];
// Set the background image all UINavigationBars
[[UINavigationBar appearance] setBackgroundImage:NavigationPortraitBackground forBarMetrics:UIBarMetricsDefault];
// Set the text appearance for navbar
[[UINavigationBar appearance] setTitleTextAttributes:
[NSDictionary dictionaryWithObjectsAndKeys:
[UIColor whiteColor], UITextAttributeTextColor,
[UIColor whiteColor], UITextAttributeTextShadowColor,
[NSValue valueWithUIOffset:UIOffsetMake(0, 0)], UITextAttributeTextShadowOffset,
[UIFont fontWithName:@"Helvetica Neue" size:21], UITextAttributeFont,
nil]];
[[UINavigationBar appearance] setTintColor:[UIColor whiteColor]];
NSDictionary *attributes = [NSDictionary dictionaryWithObjectsAndKeys:
[UIColor whiteColor],
UITextAttributeTextColor,
[UIColor whiteColor],
UITextAttributeTextShadowColor,
nil];
[[UIBarButtonItem appearance] setTitleTextAttributes:attributes forState: UIControlStateNormal];
[[UIBarButtonItem appearance] setTintColor:[UIColor whiteColor]];
// Override point for customization after application launch.
return YES;
}
如果我启动“发送邮件”操作两次 - 我第一次看到 UIBarButton 项目是白色的。我看着它并点击取消按钮 - 第二次我看到它们都变灰了,除了标题外几乎看不见。 - 这在我的 iPhone 模拟器和运行 iOS 7 的 iPhone 中都发生了。
我该如何解决这个问题?
最佳答案
我必须这样做才能在 iOS 7 上运行
if ([MFMailComposeViewController canSendMail])
{
MFMailComposeViewController *mailViewController = [[MFMailComposeViewController alloc] init];
mailViewController.mailComposeDelegate = self;
[mailViewController.navigationBar setTintColor:[UIColor whiteColor]];
[mailViewController.navigationBar setBarTintColor:[UIColor whiteColor]];
....
关于ios - MFMailComposeViewController 外观 setTintColor 迷失 iOS 7,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20768736/