cocoa-touch – iOS 8自定义UIActivity图像黑色背景色

前端之家收集整理的这篇文章主要介绍了cocoa-touch – iOS 8自定义UIActivity图像黑色背景色前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试向UIActivityController添加UIActivityCategoryAction类型的自定义UIActivity.但是在iOS 8中,所有这些都出现在黑色背景下.

有没有办法改变这个?

解决方法

这里有三件事需要注意:

>图像背景,
>图像不透明,
>图像大小.

IOS 7

>图片背景:

图像背景应该是透明的.

>图像不透明

图标的“可见部分”应该是非透明的,也就是不透明的.请注意,不会保留任何颜色信息:

>图像大小

因为如果太小/太大,图像将不会被系统缩放,您必须提供适当大小的图像.我发现图像尺寸为120px x 120px以完美贴合.

注意:此大小也会考虑图标填充.

iOS 8

>图片背景:

图像背景应为白色以匹配系统UIAction图标,但您也可以使用任意颜色.

>图像不透明

与iOS 7中的相同,图标的“可见”部分应该是非透明的,也就是不透明的,但是在iOS 8中将保留颜色信息.

>图像大小

我正在使用尺寸为240像素x 240像素的图像,但您可以应用自定义尺寸的图像,因为如果太小/太大,系统将自动加载图像.

包起来

也就是说,如果您想同时支持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"];
    }
}

希望有所帮助!

猜你在找的iOS相关文章