似乎没有 Apple 允许的方法来更改 uiactivityviewcontroller 的颜色。我在我的 iPad 应用程序中创建它是这样的:
UIActivityViewController *activity = [[UIActivityViewController alloc] initWithActivityItems:@[@"test"] applicationActivities:nil];
shareOptions = [[UIPopoverController alloc] initWithContentViewController:activity];
[shareOptions presentPopoverFromBarButtonItem:actionBarButton permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];
这当前以蓝色背景颜色呈现弹出窗口。我看到使用了黑色背景颜色,所以我知道这是可能的。另一位开发人员向我提到他认为在 iPhone 上至少它似乎是由状态栏颜色决定的(因为在 info.plist 中将状态栏颜色设置为黑色不透明使 ActivityView 变黑)。这似乎对 iPad 版本没有影响。有没有人有任何想法/建议?
谢谢!
更新: 设置 activity.view.backgroundColor 会产生一个奇怪的结果,其中大部分 View 都是设置的颜色,但边缘仍然是原始的蓝色
最佳答案
WWDC 2012 视频中提到了这一点: session 200 - Cocoa Touch 的新增功能。 蓝色部分是您可以使用
停用的默认停留UIPopoverBackgroundView +(BOOL)wantsDefaultContentAppearance
关于objective-c - UIActivityViewController 颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14167325/