我试图改变导航栏按钮的颜色,导航栏色调颜色和文字颜色,但是我似乎没有得到任何地方. MFMailComposeViewController正在通过一个UIActivityViewController激活,我已经尝试了一些以前工作的不同方法(不通过UIActivityViewController). 
  
 
这是我当前的代码:
UINavigationBar.my_appearanceWhenContainedIn(MFMailComposeViewController).barTintColor = UIColor.blackColor()
这是建议here.我也试过这个:
activityVC.navigationController?.navigationBar.tintColor = UIColorFromrGB(0x0096FF)
    activityVC.navigationController?.navigationBar.barTintColor = UIColor.whiteColor() 
 我也想改变状态栏颜色.
任何人都有什么想法?
更新:
我修复了按钮和标题的导航栏问题,但仍在寻找状态栏的解决方案.这样做不行:
self.presentViewController(activityVC,animated: true,completion: { () in
        UIApplication.sharedApplication().setStatusBarStyle(UIStatusBarStyle.LightContent,animated: true)
    })
解决方法
 您可以对MFMailViewController进行子类化,并覆盖其viewWillAppear方法 
  
  
 
        override func viewWillAppear(animated: Bool) {
    super.viewWillAppear(animated)
    UIApplication.sharedApplication().statusBarStyle = UIStatusBarStyle.LightContent
    self.navigationController.navigationBar.translucent = false
    self.navigationController.navigationBar.opaque = false
    self.navigationController.navigationBar.barTintColor = UIColor.blueColor()
} 
 由于只有当MFMailComposeViewController处于活动状态时,才希望状态栏为lightcontent,所以您不应该将
UIApplication.sharedApplication().statusBarStyle = UIStatusBarStyle.LightContent
进入你的应用程序代表didFinishLoading.这将为您的整个应用程序设置lightContent.