UIActivityViewController 的打印机选项中的“打印”和“取消”消失了

Posted

技术标签:

【中文标题】UIActivityViewController 的打印机选项中的“打印”和“取消”消失了【英文标题】:"Print" & "Cancel" disappeared from Printer Options in UIActivityViewController 【发布时间】:2019-08-13 04:07:12 【问题描述】:

按钮仍然存在并且功能正常,但是您可以看到它们完全不可见。调整字体颜色和导航栏颜色没有效果。几个月来我一直在努力解决这个问题,尽管阅读了 Apple 的文档,但我什至看不到你会在哪里改变我认为是系统范围的功能。

所以为了帮助缩小这个问题,我创建了一个带有打印按钮的简单导航控制器。如果我将它们都放在登录情节提要(第一个情节提要)上,则效果很好。如果我把它放在 Main.storyboard (第二个故事板)上它不起作用。

如果我更改我的项目设置以使 Main.storyboard 成为它工作的第一个故事板。让我相信问题出在我的 FirstViewController 中。

【问题讨论】:

您是否在您的应用中使用过tintColorUIBarButtonItem 谢谢你,这让我找到了问题。无论出于何种原因,有人在视图中将色调 alpha 设置为 0,并且出于某种原因,这会在整个应用程序中传递。 【参考方案1】:

您可以设置打印和取消按钮的颜色

UIBarButtonItem.appearance(whenContainedInInstancesOf: [UIToolbar.self]).tintColor = UIColor.green

【讨论】:

这本来就不是问题,因为我已将所有其他视图的色调设置为各种颜色,并且这些颜色适用于除打印之外的所有内容。显然改变了第一个视图,只有第一个视图似乎可以解决它。【参考方案2】:

将问题缩小到第一个视图控制器后,我发现色调设置为清除颜色(即 Alpha 为 0)。修复此问题解决了应用程序其余部分的问题。我很惊讶视图中的设置可以传播到应用程序的其余部分并覆盖该过程中的所有其他视图。也许苹果设置了第一个视图来确定系统弹出窗口等的颜色。

【讨论】:

以上是关于UIActivityViewController 的打印机选项中的“打印”和“取消”消失了的主要内容,如果未能解决你的问题,请参考以下文章

UIActivityViewController 背景颜色

UIActivityViewController 共享 UIActivity 未显示

UIActivityViewController 不适用于 WKWebView

限制 UIActivityViewController 共享扩展活动

尝试呈现 UIActivityViewController 时崩溃

更改 UIActivityViewController 的 navigationBar 的颜色