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

组头是这样的


相关推荐
roman_日积跬步-终至千里3 小时前
【Go语言基础】基本语法
开发语言·golang·xcode
二流小码农5 小时前
鸿蒙开发:实现一个标题栏吸顶
android·ios·harmonyos
season_zhu6 小时前
iOS开发:关于日志框架
ios·架构·swift
Digitally10 小时前
如何在电脑上轻松访问 iPhone 文件
ios·电脑·iphone
安和昂10 小时前
【iOS】YYModel源码解析
ios
pop_xiaoli10 小时前
UI学习—cell的复用和自定义cell
学习·ui·ios
Daniel_Coder12 小时前
Xcode 16.4 + iOS 18 系统运行时崩溃:___cxa_current_primary_exception 符号丢失的原因与解决方案
ios·xcode·ios 18·dyld·libc++abi
烈焰晴天15 小时前
使用ReactNative加载Svga动画支持三端【Android/IOS/Harmony】
android·react native·ios
sg_knight15 小时前
Flutter嵌入式开发实战 ——从树莓派到智能家居控制面板,打造工业级交互终端
android·前端·flutter·ios·智能家居·跨平台
胖虎11 天前
iOS上传应用包错误问题 “Invalid bundle. The “UIInterfaceOrientationPortrait”“
ios·审核·苹果审核·苹果传包