UIPrintInteractionController 半透明条问题
Posted
技术标签:
【中文标题】UIPrintInteractionController 半透明条问题【英文标题】:UIPrintInteractionController Translucent Bar Issue 【发布时间】:2013-04-17 07:25:58 【问题描述】:UIPrintInteractionController 在 iPhone 中作为模式视图呈现时,然后我在顶部得到半透明条。我希望它是不透明的,以便背景视图的导航栏不可见。请参阅屏幕截图以获得更好的说明。 提前致谢。
【问题讨论】:
默认为不透明条。您应该发布一些您认为会造成此问题的代码。你能按UIPrintInteractionController
的取消按钮吗?这会忽略它吗?
@viral:默认情况下它是不透明的,但我们的应用程序有用于导航控制器的半透明条。这样打印视图栏就显得半透明了。
@iNeo 您是如何为您的应用程序创建不透明条的?它应该排除任何不属于您的应用程序的导航栏。
【参考方案1】:
当您要从父视图控制器显示模态视图时,隐藏导航栏,当模式视图被关闭时,使导航栏不隐藏。
【讨论】:
虽然我同意您的回答可以解决问题,但我认为这不是正确的方法。 @vrk:您的解决方案在顶部显示了一个黑条。虽然我需要默认的蓝色样式栏。【参考方案2】:由于您还没有发布任何代码,所以答案不能准确。
但是,您可以尝试在整个应用程序中更改导航栏的外观。
也许这可以帮助你实现这一点:(把它放在你alloc/init
你的navigationcontroller
AppDelegate.m
之后)
if ([UINavigationBar respondsToSelector:@selector(appearance)])
// For ios 5.0 and above
[[UINavigationBar appearance] setBarStyle:UIBarStyleBlackOpaque];
// Black Opaque or whatever your choice is
else
// For iOS below 5.0
self.navController.navigationBar.barStyle = UIBarStyleBlackOpaque;
// Black Opaque or whatever your choice is
应用后告诉我结果。
【讨论】:
在我们的应用程序中,我们在整个应用程序中都有半透明的导航栏。但是对于这个打印屏幕,我们需要它是不透明的。【参考方案3】:六年后,我在 iOS 11 中遇到了这个问题!我不得不添加这个:
[[UINavigationBar appearance] setTranslucent:NO]
我没有在我的应用程序的任何地方将导航栏设置为半透明,但我想现在这是默认设置?
如果您想在应用程序的其他地方使用半透明导航栏,我认为您可以实现 UIPrintInteractionControllerDelegate
并在弹出窗口关闭时使用 printInteractionControllerWillDismissPrinterOptions
再次将半透明设置回 YES。
【讨论】:
以上是关于UIPrintInteractionController 半透明条问题的主要内容,如果未能解决你的问题,请参考以下文章