Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios UIActivityViewController中的MFMailComposeViewController具有默认的蓝色色调_Ios_Swift_Mfmailcomposer - Fatal编程技术网

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,通过它我可以打开一些应用程序,如邮件或消息应用程序。我无法直接访问邮件。您的代码用于显示邮件视图控制器。我已找到解决方案。我已经在答案部分发布了。