这个问题适用于运行iOS 7的
Xcode 5,并且非常奇怪.我试图将所有UInavigation和UIBarButtonItem文本颜色设置为白色.
所以在我的app启动委托中,我将代码设置为.
- (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],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]]; ....