在应用程序中,我使用白色作为主色调颜色.如果用户打开UIActivityViewController,我将控制器的色调颜色设置为标准iOS蓝色.这对于活动视图本身很有用,但是当想要发送邮件时,色调颜色不是蓝色而是白色.
有办法设置呈现视图的色调颜色会很棒.有吗?
打开MFMailComposeViewController并将色调颜色设置为蓝色也会对显示的UIActionSheet产生影响,如果从UIActivityViewController中打开MFMailComposeViewController则不会这样.
有关说明,请参见屏幕截图:http://i.imgur.com/OggykJF.png
编辑:这是我为UIActivityViewController添加色调颜色所做的工作:
UIActivityViewController * activityController = [[UIActivityViewController alloc] initWithActivityItems:items applicationActivities:activities];
activityController.view.tintColor = [UIColor blueColor];
[self presentViewController:activityController animated:YES completion:nil];
解决方法
你可以做的最好的事情是在你呈现它之前将窗口的色调颜色设置为系统蓝色或你希望在UIActivityViewController上的任何色调颜色,然后在解除之前将窗口的色调颜色改回原始颜色.那可行.我是这样做的:
UIApplication.shared.keyWindow?.tintColor = Styles.color.systemBlue
然后
UIApplication.shared.keyWindow?.tintColor = Styles.color.tint