我正在尝试将自定义UIActivity
类型添加UIActivityCategoryAction
到UIActivityController
. 但是在 iOS 8 中,它们都以黑色背景出现。
有没有办法改变这个?
我正在尝试将自定义UIActivity
类型添加UIActivityCategoryAction
到UIActivityController
. 但是在 iOS 8 中,它们都以黑色背景出现。
有没有办法改变这个?
这里有3点需要注意:
图片背景应该是透明的。
图标的“可见部分”应该是不透明的,也就是不透明的。请注意,不会保留任何颜色信息:
因为如果图像太小/太大,系统不会缩放图像,因此您必须提供适当大小的图像。我发现图像大小120px x 120px
非常适合。
注意:此大小还考虑了图标填充。
图像背景应为白色以匹配系统UIAction
图标,但您也可以使用任意颜色。
与 iOS 7 相同,图标的“可见”部分应该是不透明的,也就是不透明的,但是在 iOS 8+ 中,颜色信息将被保留。
我正在使用 size 的图像240px x 240px
,但您可以应用自定义大小的图像,因为如果太小/太大,系统会自动缩放以填充图像。
也就是说,如果你想同时支持 iOS 7 和 iOS 8+,你必须有 2 个版本的自定义UIActivity
图标图像。
对于iOS 7,您应该使用120px x 120px大小的透明背景图像。注意:找到最适合您需要的尺寸。
对于iOS 8+,您应该使用具有白色背景和任意颜色的“可见”部分的自定义大小的方形图像。
代码示例
- (UIImage *)activityImage
{
if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 8.0) {
return [UIImage imageNamed:@"activity_icon_ios8"];
}
else {
return [UIImage imageNamed:@"activity_icon"];
}
}
希望有帮助!