【问题标题】:How can I add a ActivityItem to upper activity bar in UIActivityViewController?如何将 ActivityItem 添加到 UIActivityViewController 的上部活动栏?
【发布时间】:2013-10-19 17:35:08
【问题描述】:

我喜欢将我自己的 WhatsApp ActivityItem 添加到 UIActivityViewController,但它总是添加到下方的非彩色活动栏,但我喜欢将它添加到上方的栏,即带有彩色项目的栏。

这就是我使用的代码:

WhatsApp *whatsApp = [[WhatsApp alloc] init];
            UIActivityViewController* activityVC = [[UIActivityViewController alloc] initWithActivityItems:@[image, text] applicationActivities:@[whatsApp]];

点赞。

【问题讨论】:

    标签: ios objective-c ios7 uiactivityviewcontroller


    【解决方案1】:

    在您的自定义 UIActivity 子类中,您必须简单地覆盖一个方法:

    + (UIActivityCategory)activityCategory
    {
       return UIActivityCategoryShare;
    }
    

    可能的类别有:动作和分享。
    重要的是,这是 class 方法,而不是实例。此外,它是特定于 iOS 7 的 - 所有操作活动都放在底线(如果有的话),然后是分享活动上方,然后是 AirDrop 上方。因此,例如,如果您想摆脱底线,只需排除所有行动活动。如果您想在共享/操作行中添加内容 - 覆盖 activityCategory。默认为 UIActivityCategoryShare;

    【讨论】:

    • 好的,该项目现在移到顶部,但我有一个灰色方块而不是图标,图标大小为 60x60。它是PNG格式。知道为什么吗?
    • 您的自定义活动不能丰富多彩。 iOS 会自行获取您的图标并处理图标 - 假设您的图标只是掩码。另外,如果我没记错的话,ios7 需要 70x70 图标作为活动项目。 stackoverflow.com/questions/18942893/uiactivity-wont-show-image/… - 和你一样的问题
    • Korienv 所以服装 UIActivity 中除了灰色之外不能有任何颜色,即使在 UIActivityCategoryShare 中也是如此?!那不好,我不喜欢那样:/无论如何谢谢!对于 iPhone 和 iPod,iOs 7 上的图像尺寸应为 60x60,我在 Apple 文档中阅读。
    • 除了系统提供的颜色之外不能有任何颜色(是的,实际上是灰色)。因此,iOS 内置的共享活动和应用程序的自定义活动有所不同。深入研究是有道理的
    • 你可以用这篇文章的策略让它们变得丰富多彩:stackoverflow.com/a/22670582/2578240
    【解决方案2】:

    在 Swift 中,

    override static func activityCategory() -> UIActivityCategory
    {
        return .Share
    }
    

    【讨论】:

      【解决方案3】:

      Swift 3 版本:

      public override static var activityCategory: UIActivityCategory {
          return .share;
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-03-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多