gpt4 book ai didi

ios - 自定义后退指示器图像和 iOS 11

转载 作者:IT王子 更新时间:2023-10-29 08:00:49 24 4
gpt4 key购买 nike

我在我的应用程序中使用自定义后退按钮。这个自定义后退按钮是全局设置的,如下所示:

    UINavigationBar.appearance().backIndicatorImage = UIImage(named: "Back").withRenderingMode(.alwaysOriginal)
UINavigationBar.appearance().backIndicatorTransitionMaskImage = UIImage(asset: .back).withRenderingMode(.alwaysOriginal)

在 iOS 11 之前,这段代码可以解决问题,但现在在 iOS 11 中,按钮不再垂直居中,如下所示:

enter image description here

我可以将后退按钮图像的高度更改为 44,但这会在 iOS < 11 中破坏它。我也可以使用两个不同的图像,但我一直在寻找更清晰的东西,比如将图像垂直居中的方法在后退按钮容器 View 中。

编辑:

原来,正如banxii1988所说,问题是由 setBackButtonTitlePositionAdjustment 当值故意将标题移到可见屏幕之外时引起的。这是为了避免在每个 View Controller 中删除后退按钮标题的黑客攻击。我决定删除这个 hack,我做了正确的事情:

  1. 将 Storyboard 中的后退按钮项设置为 ""
  2. 在没有关联 Storyboard的每个 View Controller 中,我设置backBarButtonItem 以编程方式navigationItem.backBarButtonItem = UIBarButtonItem(title: "",
    样式:.plain,目标:无, Action :无)

请注意,您在 View Controller 中看到的后退按钮标题是在导航堆栈中的前一个中设置的。

最佳答案

1) 删除 PositionAdjustment(如果有的话)。比如

  bap.setBackButtonTitlePositionAdjustment(UIOffset(horizontal: 0, vertical: -64), for: .default)

2) 检查导航堆栈中的前一个 ViewController 是否有标题

关于ios - 自定义后退指示器图像和 iOS 11,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46193204/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com