更改UIActivityViewController的背景颜色

问题描述 投票:4回答:4

在iOS 7中,标准的qazxsw poi具有半透明的白色背景。相反,我的应用程序有一个黑暗的主题。当白色的qazxsw poi在黑暗的应用程序背景上弹出时,它看起来很糟糕。

有没有办法改变UIActivityViewController的背景颜色?

我尝试了UIAcitivityViewController,但这使得整个屏幕变黑,而不仅仅是像标准白色背景那样的UIAcitivityViewController图标所占据的区域。

ios ios7 uicolor uiactivityviewcontroller
4个回答
0
投票

这应该做的伎俩:

activityVC.view.backgroundColor = [UIColor blackColor]

0
投票

虽然我的解决方案似乎有点不稳定,但它适用于iOS7到iOS 8.如果某些东西突然改变,它也不会崩溃你的应用程序;

UIAcitivity

它在模拟器中的样子,例如:


0
投票

我得到的只是改变了主视图的背景。试图改变其中标签的颜色没有成功。

[[UIView appearanceWhenContainedIn:[UIActivityViewController class], nil] setBackgroundColor:[UIColor greenColor]];

-2
投票
UIActivityViewController *aVC = [[UIActivityViewController alloc] initWithActivityItems:@[[NSURL urlWithString:@"http://example.com"] applicationActivities:nil];
id targetView = [[[[[[[[[[[aVC.view.subviews lastObject] subviews] firstObject] subviews] firstObject] subviews] firstObject] subviews] firstObject] subviews] firstObject];
if ([targetView respondsToSelector:@selector(setBackgroundColor:)])
{
    UIColor *targetColor = ([[[UIDevice currentDevice] systemVersion] floatValue] >= 8.0) ? [[UIColor redColor] colorWithAlphaComponent:0.3] : [UIColor redColor];
    [targetView setBackgroundColor:targetColor];
}
© www.soinside.com 2019 - 2024. All rights reserved.