不能同时从 UIActivityController 打印和发送电子邮件
Posted
技术标签:
【中文标题】不能同时从 UIActivityController 打印和发送电子邮件【英文标题】:can't both print and email from UIActivityController 【发布时间】:2021-01-06 06:33:17 【问题描述】:我正在尝试使用 ios UIActivityCoontroller 共享一张票(我的构造)以打印和发送电子邮件。票据被格式化为 UISimpleTextPrintFormatter 和属性字符串。显示对话框时,我可以选择打印或发送电子邮件,但不能同时选择两者。我的代码:
let str = NSAttributedString(string: displayString, attributes: attrs)
let ticket = [UISimpleTextPrintFormatter(attributedText: str)]
let ac = UIActivityViewController(activityItems: xxxxx, applicationActivities: nil)
当 xxxxx = 票证时,共享对话框提供标记和打印选项。
当 xxxxx = [str] 时,对话框提供电子邮件、消息、AirDrop、Dropbox 等。
当 xxxxx = [ticket, str] 时,对话框提供电子邮件、消息等,但不提供打印或标记。
第三种情况不应该包括所有活动并为每个活动提供适用的数据吗?我错过了什么? (iOS 14.2.1)
编辑:为了测试这一点,我创建了一个新项目,其中一个按钮基本上链接到上面的代码。观察到相同的行为。共享时的单个资源按预期工作。 (文字和打印)组合成一个ActivityItem时,不出现打印选项。
【问题讨论】:
【参考方案1】:这里的问题是票据变量被创建为一个数组。不应该。删除括号中的
Let ticket = [UISimpleTextFormatter ...
line 让一切都按预期工作。
【讨论】:
以上是关于不能同时从 UIActivityController 打印和发送电子邮件的主要内容,如果未能解决你的问题,请参考以下文章
在JS脚本中,多个setInterval之间会出现干扰!大概原因是由于从上到下的执行顺序,导致不能同时执行!
根据选定的活动共享不同的内容 - UIActivityController
Flickity 2 - groupCells 和 pageDots 不能同时工作