iOS 8自定义UIActivity图像黑色背景色

时间:2014-09-12 21:40:03

标签: cocoa-touch ios8 uiactivityviewcontroller uiactivity

我正在尝试向UIActivity添加UIActivityCategoryAction类型的自定义UIActivityController。但是在iOS 8中,所有这些都出现在黑色背景下。

有没有办法改变这个?

1 个答案:

答案 0 :(得分:22)

这里有 3件事

  1. 图片背景,
  2. image opaqueness,
  3. 图片大小。

  4. iOS 7

    1. 图片背景
    2. 图像背景应该是透明的。

      1. 图片不透明
      2. "可见部分"图标应该是非透明的,也就是不透明的。请注意,任何颜色信息都不会被保留

        1. 图片尺寸
        2. 因为如果太小/太大,图像不会被系统缩放,您必须提供适当大小的图像。我发现图片大小120px x 120px非常合身。

          注意:此尺寸也会考虑图标填充。


          iOS 8 +

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

            1. 图片不透明
            2. 与iOS 7相同,"可见"图标的一部分应该是非透明的,也就是不透明,但在iOS 8+中颜色信息将被保留

              1. 图片尺寸
              2. 我使用尺寸为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"];
                    }
                }
                

                希望有所帮助!