ios - 不能同时从 UIActivityController 打印和发送电子邮件
问题描述
我正在尝试使用 iOS UIActivityCoontroller 共享一张票(我的构造)以打印和发送电子邮件。票据被格式化为 UISimpleTextPrintFormatter 和属性字符串。显示对话框时,我可以选择打印或发送电子邮件,但不能同时选择两者。我的代码:
let str = NSAttributedString(string: displayString, attributes: attrs)
let ticket = [UISimpleTextPrintFormatter(attributedText: str)]
let ac = UIActivityViewController(activityItems: xxxxx, applicationActivities: nil)
当 xxxxx = ticket 时,共享对话框提供标记和打印选项。
当 xxxxx = [str] 时,对话框提供电子邮件、消息、AirDrop、Dropbox 等。
当 xxxxx = [ticket, str] 时,对话框提供电子邮件、消息等,但不提供打印或标记。
第三种情况不应该包括所有活动并为每个活动提供适用的数据吗?我错过了什么?(iOS 14.2.1)
编辑:为了测试这一点,我创建了一个新项目,一个按钮基本上链接到上面的代码。观察到相同的行为。共享时的单个资源按预期工作。(文字和打印)组合成一个ActivityItem时,打印选项不出现。
解决方案
这里的问题是票据变量被创建为一个数组。不应该。去除支架中的支架
Let ticket = [UISimpleTextFormatter ...
行让一切按预期工作。
推荐阅读
- mysql - 如何使用 laravel 将图像直接上传到 MySQL 数据库?
- angularjs - 如何在使用后端数据库中的值加载下拉/选择列表时显示加载状态?Angular 1,引导程序和火花
- python - Python 中的“int”对象是否只包含值?
- asp.net-core - 使用 Azure AD 和本地帐户保护 API
- html - 根据 ReactJS 中的条件切换到另一个按钮
- excel - 有没有办法从具有多个条件的决策矩阵中返回一个值?
- java - SetOnClickListener 在 DialogFragment 中不起作用
- r - R Data.Table 算术计数
- python - tensorflow 轴定义从 0 还是 1 开始?
- python - 有没有办法确保 Python 解释器总能找到一个模块?