iOS UIActivityViewController 组头处理

0x00 情形一

复制代码
- (void)shareAction1
{
    // 当前 View 转成图片
    UIImage *image = [self snapshotImage:self.view];
    NSArray *activityItems = @[image];
    UIActivityViewController *activityVC = [[UIActivityViewController alloc] initWithActivityItems:activityItems applicationActivities:nil];
    activityVC.completionWithItemsHandler = ^(UIActivityType  _Nullable activityType, BOOL completed, NSArray * _Nullable returnedItems, NSError * _Nullable activityError) {
        if (activityType == UIActivityTypeSaveToCameraRoll) {
            // 保存到相册后,可以给个提示
        }
    };
    [self presentViewController:activityVC animated:YES completion:nil];
}

1、应用未设置 AppIcon 图标时

组头是这样的

2、应用设置了 AppIcon 图标时

组头是这样的


0x01 情形二

复制代码
- (void)shareAction2
{
    // 当前 View 转成图片
    UIImage *image = [self snapshotImage:self.view];
    NSString *text = @"Haomissyou";  // 多了这个
    NSArray *activityItems = @[image, text];
    UIActivityViewController *activityVC = [[UIActivityViewController alloc] initWithActivityItems:activityItems applicationActivities:nil];
    activityVC.completionWithItemsHandler = ^(UIActivityType  _Nullable activityType, BOOL completed, NSArray * _Nullable returnedItems, NSError * _Nullable activityError) {
        if (activityType == UIActivityTypeSaveToCameraRoll) {
            // 保存到相册后,可以给个提示
        }
    };
    [self presentViewController:activityVC animated:YES completion:nil];
}

添加了文字后

组头是这样的


0x02 情形三

复制代码
- (void)shareAction3
{
    // 换成这个
    // 读取工程中的图片(或者先保存图片到沙盒,再读取文件url)
    NSString *path = [[NSBundle mainBundle] pathForResource:@"video2_cover" ofType:@"png"];
    NSURL *url = [NSURL fileURLWithPath:path];
    
    NSArray *activityItems = @[url];
    UIActivityViewController *activityVC = [[UIActivityViewController alloc] initWithActivityItems:activityItems applicationActivities:nil];
    activityVC.completionWithItemsHandler = ^(UIActivityType  _Nullable activityType, BOOL completed, NSArray * _Nullable returnedItems, NSError * _Nullable activityError) {
        if (activityType == UIActivityTypeSaveToCameraRoll) {
            // 保存到相册后,可以给个提示
        }
    };
    [self presentViewController:activityVC animated:YES completion:nil];
}

换成图片 URL 后,添加了图片url

组头是这样的


相关推荐
忆江南6 小时前
iOS 深度解析
flutter·ios
没有故事的Zhang同学6 小时前
05-主题|事件响应者链@iOS-应用场景与进阶实践
ios
FeliksLv14 小时前
尝试给Lookin 支持 MCP
ios
没有故事的Zhang同学14 小时前
01-研究系统框架@Web@iOS | JavaScriptCore 框架:从使用到原理解析
ios
CocoaKier2 天前
苹果谷歌商店:如何监控并维护用户评分评论
ios·google·apple
iOS日常2 天前
iOS设备崩溃日志获取与查看
ios·xcode
wangruofeng3 天前
AI 助力 Flutter 3.27 升级到 3.38 完整指南:两周踩坑与实战复盘
flutter·ios·ai编程
iOS日常3 天前
Xcode 垃圾清理
ios·xcode
开心就好20253 天前
不越狱能抓到 HTTPS 吗?在未越狱 iPhone 上抓取 HTTPS
后端·ios
傅里叶4 天前
iOS相机权限获取
flutter·ios