iOS ActivityViewController使用

UIActivityViewController是iOS中用于展示一个活动列表的视图控制器,允许用户通过各种内置或第三方的应用来分享内容。以下是使用UIActivityViewController分享文本内容的示例代码:

import UIKit

class ViewController: UIViewController {

@IBAction func shareButtonTapped(_ sender: Any) {

let textToShare = "这是要分享的文本内容"

let activityViewController = UIActivityViewController(activityItems: [textToShare], applicationActivities: nil)

// 如果使用iPad,需要配置popoverController

if let popover = activityViewController.popoverPresentationController {

popover.sourceView = self.view // 设置popover的源视图,通常是一个按钮或其他视图

popover.sourceRect = CGRect(x: self.view.bounds.midX, y: self.view.bounds.midY, width: 0, height: 0) // 设置popover的源矩形

popover.permittedArrowDirections = [] // 移除所有箭头方向

}

self.present(activityViewController, animated: true, completion: nil)

}

}

在上述代码中,shareButtonTapped方法会在用户点击分享按钮时被调用。我们创建了一个UIActivityViewController实例,并将要分享的文本作为activityItems传入。如果你想分享图片或其他类型的数据,也可以将相应的数据对象加入到activityItems数组中。

如果你正在使用iPad,并且想要在Popover中显示UIActivityViewController,你需要设置popoverPresentationControllersourceViewsourceRect属性。permittedArrowDirections属性则用于设置Popover允许的箭头方向。

相关推荐
2501_9159214320 小时前
Windows 系统下的 IPA 加密工具实战指南,如何在非 macOS 环境完成 IPA 混淆、加固与工程化处理
android·windows·macos·ios·小程序·uni-app·iphone
Jackson@ML1 天前
2025最新版.NET 10.0 for Mac安装使用指南
macos·.net
FreeBuf_2 天前
高度复杂的macOS DigitStealer采用多阶段攻击逃避检测
macos·m2芯片
ai_xiaogui2 天前
Mac苹果版Krita AI一键安装教程:AIStarter+ComfyUI零基础部署全流程(X86/ARM双架构)
arm开发·人工智能·macos·comfyui·一键部署·ai绘画教程·kritaai
晚枫~3 天前
不同浏览器在Windows和Mac上的跨域配置方法
windows·macos
denggun123453 天前
Xcode的App Thinning Size Report分析包体积
macos·蓝桥杯·xcode
醇氧3 天前
MAC安装 Notepad Next
macos
枫子有风4 天前
【go.sixue.work】2.2 面向对象:接口与多态
开发语言·后端·golang·xcode
我的golang之路果然有问题4 天前
mac配置 unity+vscode的坑
开发语言·笔记·vscode·macos·unity·游戏引擎