objective-c - UIActivityViewController 颜色

标签 objective-c ios

似乎没有 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 都是设置的颜色,但边缘仍然是原始的蓝色

UIActivityViewController Weird Background

最佳答案

WWDC 2012 视频中提到了这一点: session 200 - Cocoa Touch 的新增功能。 蓝色部分是您可以使用

停用的默认停留
UIPopoverBackgroundView +(BOOL)wantsDefaultContentAppearance

关于objective-c - UIActivityViewController 颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14167325/

相关文章:

objective-c - 从另一个 modalViewController 解雇ModalViewController

iOS 动画正在横向转动

ios - 在 iOS 中重新创建类似 Siri 的弯引号

javascript - 为什么 Chrome for iOS 会插入 image/webp content-type?

ios - NSString正则表达式查找和替换

ios - 如何在单击删除按钮时更改表行颜色,而不是在 iOS 中删除行

iphone - 从 iPhone 中的 url 加载图像,只有在很小的情况下

ios - 如何清除缓存的 UITableViewCell

ios - 访问 obj 作为属性与方法参数(样式首选项)

iOS block 设计 : Nested Blocks With Return Values?