在我的 AppDelegate.swift 文件中,我有两行:
let barButtonItemMenu = UIBarButtonItem.appearance()
barButtonItemMenu.setTitleTextAttributes([NSAttributedStringKey.foregroundColor: UIColor.clear], for: .normal)
允许我删除所有导航控制器中的back
文本。一切都很好但是当我用UIImagePickerController
打开照片库时,Cancel
按钮没有出现,但是当我删除这两行时,会出现Cancel
按钮和我的back
文字出现。
我的问题是如何在照片库中显示Cancel
按钮?如何删除所有导航控制器中的back
文本?
答案 0 :(得分:2)
基本上您正在清除导航控制器按钮的文本
您可以尝试做一件事而不是使用
清除后退按钮的文本let barButtonItemMenu = UIBarButtonItem.appearance()
barButtonItemMenu.setTitleTextAttributes([NSAttributedStringKey.foregroundColor: UIColor.clear], for: .normal)
使用
self.navigationItem.setHidesBackButton(true, animated: false)
这不会在您执行操作时清除文本,但会隐藏导航堆栈中的按钮
你可以在WillAppear中使用这个简单的行来隐藏
ScreenShot 1 - 从其他Vc导航到VC1后,根据需要不显示后退按钮 - 预期输出
ScreenShot 2 - 单击按钮时VC1库中心的按钮使用imagePicker显示,该按钮具有取消按钮,如图所示 - 预期输出
看看演示项目 - https://drive.google.com/open?id=1exKMgZSQZ8zT64yJOh-MX5O-uAIPdrj6
答案 1 :(得分:0)
这是删除后退按钮文本的正确方法。您实际上是将按钮的颜色更改为清除哪个使其不可见但按钮仍保留在那里并且仍然可以进行交互。删除后退按钮文本的正确方法是remove back button text
当你这样做时,你的图像选择器控制器也会有取消按钮