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允许的箭头方向。

相关推荐
Swift社区1 小时前
在企业内部分发 iOS App 时如何生成并使用 manifest.plist
macos·ios·cocoa
他们都不看好你,偏偏你最不争气6 小时前
【iOS】 单例模式
macos·objective-c·cocoa
2501_9159184110 小时前
uni-app 项目 iOS 上架效率优化 从工具选择到流程改进的实战经验
android·ios·小程序·uni-app·cocoa·iphone·webview
FreeBuf_12 小时前
苹果用户速更新!macOS存严重漏洞,用户隐私数据面临泄露风险
macos
Thomas214313 小时前
macos deepctr_torch虚拟环境配置
macos
wxl78122713 小时前
MacOS 运行CosyVoice
macos·cosyvoice·语音自然
lichong95113 小时前
【混合开发】vue+Android、iPhone、鸿蒙、win、macOS、Linux之video 的各种状态和生命周期调用说明
android·vue.js·macos
程序务虚论13 小时前
mac M1上安装windows虚拟机报错
windows·macos·parallels
今天头发还在吗16 小时前
【Go】:mac 环境下GoFrame安装开发工具 gf-cli——gf_darwin_arm64
macos·golang·go·gf-cli
小妖66619 小时前
MAC在home下新建文件夹报错“mkdir: test: Operation not supported”
macos