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

组头是这样的


相关推荐
YungFan3 小时前
iOS26适配指南之UIButton
ios·swift
红橙Darren7 小时前
手写操作系统 - 编译链接与运行
android·ios·客户端
鹏多多.11 小时前
flutter-使用device_info_plus获取手机设备信息完整指南
android·前端·flutter·ios·数据分析·前端框架
麦兜*1 天前
【swift】SwiftUI动画卡顿全解:GeometryReader滥用检测与Canvas绘制替代方案
服务器·ios·swiftui·android studio·objective-c·ai编程·swift
GeniuswongAir1 天前
iOS 26 一键登录失效:三大运营商 SDK 无法正常获取手机号
ios
吴Wu涛涛涛涛涛Tao1 天前
Flutter 实现类似抖音/TikTok 的竖向滑动短视频播放器
android·flutter·ios
猪哥帅过吴彦祖1 天前
Flutter 插件工作原理深度解析:从 Dart 到 Native 的完整调用链路
android·flutter·ios
归辞...1 天前
「iOS」————UITableView性能优化
ios·性能优化·cocoa
AI工具测评与分析2 天前
EhViewer安卓ios全版本类下载安装工具的完整路径解析
android·ios