具有自定义UIActivity的UIActivityViewController将彩色图像显示为灰色

Rob*_*Rob 11 iphone image uiactivity uiactivityviewcontroller ios7

我创建了一个自定义UIActivity以在共享表中显示.我创建了一个全彩色的60x60图标(png文件),但是当它显示时它只显示灰色的轮廓.我不明白我写错了什么.我希望有人看到我错过的东西.任何帮助将不胜感激.这是我的代码......

@implementation MyActivity

#pragma mark - Overrides
- (NSString *)activityType {
    return @"MyType";
}

- (NSString *)activityTitle {
    return @"ShareMe";
}

- (UIImage *)activityImage {
    return [UIImage imageNamed:@"MyIcon_60x60.png"];
}

- (BOOL)canPerformWithActivityItems:(NSArray *)activityItems {
    return YES;
}

- (void)prepareWithActivityItems:(NSArray *)activityItems {
    // Do Something
}

+ (UIActivityCategory)activityCategory {
    return UIActivityCategoryShare;
}

@end
Run Code Online (Sandbox Code Playgroud)

小智 33

尝试在子类UIActivity类中为方法添加下划线

- (UIImage *)_activityImage {}
Run Code Online (Sandbox Code Playgroud)

你失去了圆形的灰色边框

  • 是的,这完全有效 - 你试过通过苹果批准程序吗?这是一个私人API,但也许你可以通过它偷偷摸摸... (15认同)

Tib*_*abo 7

我不确定这是一个错误或功能,但在iOS 8中,如果activityCategory是UIActivityCategoryShare,它会显示一个漂亮的圆形颜色图标.它在iOS 7中显示一个灰色框._activityImage为我查找私有API.

+ (UIActivityCategory)activityCategory {
    return UIActivityCategoryShare;
}
Run Code Online (Sandbox Code Playgroud)