【问题标题】:UIActivityViewController not showing my custom activity image in the "MORE" list on iOS8UIActivityViewController 没有在 iOS8 的“更多”列表中显示我的自定义活动图像
【发布时间】:2014-11-21 04:45:12
【问题描述】:

这是屏幕截图:

在我的 UIActivity 子类中,我重写了 -activityImage 方法以将我自己的图标用于 facebook 分享项,但它出现在分享面板中但在 MORE 列表中消失了。

【问题讨论】:

  • 在设备上遇到了同样的问题,但在模拟器上工作正常。
  • 同样的问题,谁能帮忙?
  • 我也有同样的问题。但是,当您将自定义活动类别设置为 UIActivityCategoryShare 时,您可以使用普通图像。因此,如果您愿意,您可以毫无问题地使用标准的蓝色 Facebook 徽标。这就是我为 Instagram 所做的。
  • 您是否使用了精确尺寸的图片?像 250 px .p​​ng 或图像格式是否正确?即使图像格式或类型不正确,模拟器也会运行,而在真实设备中失败

标签: ios ios8 ios8-extension ios8-share-extension


【解决方案1】:

相当老的问题,但也许解决方案对其他人也有帮助!

在您的 UIActivity 子类中实现/覆盖方法

- (UIImage *)activityImage {
    return [UIImage imageNamed:@"Activity Icon"];
}

返回要在 UIActivityViewController 本身中显示的图像(正如您所做的那样)。

除了这个实现/覆盖方法

- (UIImage *)activitySettingsImage {
    return [UIImage imageNamed:@"Activity Settings Icon"];
}

返回要在更多/设置视图中显示的(其他或相同的)图像。

【讨论】:

  • 它是私有 API 吗?我找不到任何关于 activitySettingsImage 的文档。 Apple 会批准我在 App Store 中的应用吗?
  • 还没有遇到任何问题:-)。但是你的权利,它没有记录在官方文档中!
【解决方案2】:

您是否检查过您的图片具有这种格式

对于 iPhone 和 iPod touch,iOS 7 上的图像应为 60 x 60 点;在早期版本的 iOS 上,您应该使用不大于 43 x 43 磅的图像。对于 iPad,iOS 7 上的图像应为 76 x 76 点;在早期版本的 iOS 上,您应该使用不大于 60 x 60 磅的图像。在配备 Retina 显示屏的设备上,每个方向的像素数都翻倍。

您还可以查看参考: https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIActivity_Class/index.html#//apple_ref/occ/instm/UIActivity/activityImage

【讨论】:

  • 还有一件事。如果您的图像具有 colorSync 配置文件,则不会读取它。我不知道,所以我浪费时间。所以我建议删除 colorSync 配置文件。
  • @Penguin:我在 XCode 中有“ColorSpace: sRGB IEC61966-2.1”,它适用于我的所有图像。我怎样才能删除它?
猜你喜欢
  • 1970-01-01
  • 2014-11-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-06-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多