Ios UIActivityViewController中的MFMailComposeViewController具有默认的蓝色色调
我现将活动控制器介绍如下:Ios UIActivityViewController中的MFMailComposeViewController具有默认的蓝色色调,ios,swift,mfmailcomposer,Ios,Swift,Mfmailcomposer,我现将活动控制器介绍如下: let vc = UIActivityViewController(activityItems: [SettingsProvider.shareUrl], applicationActivities: nil) vc.modalTransitionStyle = .crossDissolve vc.modalPresentationStyle = .overCurrentContext self.present(vc, animated: true, completi
let vc = UIActivityViewController(activityItems: [SettingsProvider.shareUrl], applicationActivities: nil)
vc.modalTransitionStyle = .crossDissolve
vc.modalPresentationStyle = .overCurrentContext
self.present(vc, animated: true, completion: nil)
此外,我还为导航栏设置了全局着色颜色,即使用外观属性设置窗口着色颜色
当我单击应用程序(如消息应用程序)时,控制器为条形按钮采用应用程序着色颜色,除了MFMailViewController
。
是否有任何方法可以更改UIActivityController
的显示应用程序的色调
更改按钮的外观会给我的应用程序带来问题。任何其他解决方案都将不胜感激 请尝试使用此代码更改条形按钮的颜色,我认为这将对您有所帮助
var navigationBarAppearace = UINavigationBar.appearance()
navigationBarAppearace.tintColor = uicolorFromHex(0xffffff)
navigationBarAppearace.barTintColor = uicolorFromHex(0x034517)
或
请使用此代码我已在目标c中使用此代码
MFMailComposeViewController* mailViewController = [[MFMailComposeViewController alloc] init];
mailViewController.mailComposeDelegate = self;
[mailViewController setToRecipients:@[@"abc@def.com"]];
[mailViewController.navigationBar setTintColor:[UIColor blackColor]];
[self presentViewController:mailViewController animated:YES completion:nil];
请尝试更改条形按钮颜色的代码,我认为这将对您有所帮助
var navigationBarAppearace = UINavigationBar.appearance()
navigationBarAppearace.tintColor = uicolorFromHex(0xffffff)
navigationBarAppearace.barTintColor = uicolorFromHex(0x034517)
或
请使用此代码我已在目标c中使用此代码
MFMailComposeViewController* mailViewController = [[MFMailComposeViewController alloc] init];
mailViewController.mailComposeDelegate = self;
[mailViewController setToRecipients:@[@"abc@def.com"]];
[mailViewController.navigationBar setTintColor:[UIColor blackColor]];
[self presentViewController:mailViewController animated:YES completion:nil];
我已经找到了解决办法,但不知道这是否正确 在
MFMailComposeViewController
中编写扩展保存了我
extension MFMailComposeViewController: MFMailComposeViewControllerDelegate {
open override func viewDidLoad() {
super.viewDidLoad()
navigationBar.tintColor = UIColor.white
}
}
MFMailComposeViewController
通过活动控制器呈现,将与我编写的扩展相对应。这样,MFMailComposeViewController
将响应重写的viewDidLoad()
方法。我找到了一个解决方案,但不知道这是否正确
在MFMailComposeViewController
中编写扩展保存了我
extension MFMailComposeViewController: MFMailComposeViewControllerDelegate {
open override func viewDidLoad() {
super.viewDidLoad()
navigationBar.tintColor = UIColor.white
}
}
MFMailComposeViewController
通过活动控制器呈现,将与我编写的扩展相对应。这样,MFMailComposeViewController
将响应被重写的viewDidLoad()
方法。我已经在appDelegate中设置了此方法。我在UIActivityViewController的MFMailComposeViewController中遇到问题。我已尝试此操作,但不起作用。面临相同问题。我已更新代码,请参阅@cgeekI正在演示UIActivityViewController,通过它我可以打开一些应用程序,如邮件或消息应用程序。我无法直接访问邮件。您的代码用于显示邮件视图控制器。我已找到解决方案。我已经在答案部分发布了。我已经在appDelegate中设置了这个。我在UIActivityViewController的MFMailComposeViewController中遇到问题。我已尝试此操作,但不起作用。面临相同问题。我已更新代码,请参阅@cgeekI正在演示UIActivityViewController,通过它我可以打开一些应用程序,如邮件或消息应用程序。我无法直接访问邮件。您的代码用于显示邮件视图控制器。我已找到解决方案。我已经在答案部分发布了。