【问题标题】:Show "Cancel" button in photo gallery (UIImagePickerController) swift 4在照片库(UIImagePickerController)中显示“取消”按钮 swift 4
【发布时间】:2018-06-25 22:17:02
【问题描述】:

在我的 AppDelegate.swift 文件中,我有这两行:

let barButtonItemMenu = UIBarButtonItem.appearance()   
     barButtonItemMenu.setTitleTextAttributes([NSAttributedStringKey.foregroundColor: UIColor.clear], for: .normal)

这允许我删除所有导航控制器中的back 文本。一切都很好,但是当我使用UIImagePickerController 打开照片库时,Cancel 按钮不会出现,但是当我删除那两行时,Cancel 按钮会出现并且我的back 文本会出现。

我的问题是如何在我的照片库中显示Cancel 按钮?以及如何删除所有导航控制器中的back 文本?

【问题讨论】:

  • 你在哪里写这些行?在每个控制器的 didLoad 中?
  • @iOSGeek 我在我的 AppDelegate.swift 中的 didFinishLaunchingWithOptions 方法中写了这个
  • 这个查询解决了吗?

标签: iphone swift swift4 xcode9


【解决方案1】:

基本上你正在清除导航控制器按钮的文本

您可以尝试做一件事,而不是使用清除后退按钮的文本

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

【讨论】:

  • 欢迎,编码愉快
【解决方案2】:

这不是删除后退按钮文本的正确方法。您实际上正在将按钮的颜色更改为清除,这使其不可见,但按钮仍然存在并且仍然可以交互。删除后退按钮文本的正确方法是remove back button text

当你这样做时,你的图像选择器控制器也会有取消按钮

【讨论】:

    猜你喜欢
    • 2015-04-10
    • 1970-01-01
    • 1970-01-01
    • 2012-04-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多