在一个应用程序中,我使用白色作为主色调。如果用户打开UIActivityViewController
,我将控制器的色调设置为标准的iOS蓝色。这对于Activity视图本身非常有效,但当用户想要发送邮件时,色调颜色不是蓝色,而是白色。
如果能有一种方法来设置所呈现视图的色调就太好了。有吗?
打开MFMailComposeViewController
并将色调设置为蓝色也会对显示的UIActionSheet
产生影响,如果从UIActivityViewController
中打开MFMailComposeViewController
,则不会产生影响。
请参阅屏幕截图以了解说明:https://i.stack.imgur.com/egnTm.png
编辑:这是我为UIActivityViewController
添加色调颜色所做的:
UIActivityViewController *activityController = [[UIActivityViewController alloc] initWithActivityItems:items applicationActivities:activities];
activityController.view.tintColor = [UIColor blueColor];
[self presentViewController:activityController animated:YES completion:nil];`
字符串
5条答案
按热度按时间b09cbbtk1#
你能做的最好的事情就是在你呈现它之前,在UIActivityViewController上设置窗口的色调为系统蓝色或任何你想要的色调,然后在你关闭它之前将窗口的色调改变回原始的颜色。这将起作用。这是我如何做到的:
字符串
然后
型
dxpyg8gm2#
我也遇到了同样的问题,无论我怎么尝试,邮件共享控制器的取消和发送按钮都是蓝色的。我发现调整导航栏的外观并不能解决这个问题。所以我用了这个.
字符串
我在一个“Appearance”类中执行此操作,该类在加载时调用并设置所有全局外观。对于导航栏颜色,如果您需要在呈现共享控制器(UIActivityViewController)之前动态更改它,则可以在首次呈现控制器时在完成块中进行更改。例如:
型
m3eecexj3#
我还没有设法让这个工作在所有,但你有没有考虑替代方案-离开文本白色和改变导航栏背景颜色,使他们显示,例如:
字符串
这似乎适用于邮件和Twitter共享屏幕导航栏上的按钮。
1sbrub3j4#
基本上,您的应用程序将使用此UINavigationBar作为默认设置
第一个月
试试这个
rbpvctlc5#
在初始化之后但在呈现之前,在您的UIActivityViewController上设置tintColor。
字符串