我在我的应用程序中使用自定义后退按钮。这个自定义后退按钮是全局设置的,如下所示:
UINavigationBar.appearance().backIndicatorImage = UIImage(named: "Back").withRenderingMode(.alwaysOriginal)
UINavigationBar.appearance().backIndicatorTransitionMaskImage = UIImage(asset: .back).withRenderingMode(.alwaysOriginal)
在 iOS 11 之前,这段代码可以实现这一目的,但现在在 iOS 11 中,按钮不再垂直居中,如下所示:
我可以将后退按钮图像的高度更改为 44,但这会在 iOS
EDIT:
事实证明,正如banxii1988所说,问题是由setBackButtonTitlePositionAdjustment
当这些值故意将标题移到可见屏幕之外时。这是一个避免删除每个视图控制器中的后退按钮标题的黑客行为。我决定删除这个黑客,我做了正确的事情:
- 将故事板中的后退按钮项目设置为
" "
.
- 在每个没有关联故事板的视图控制器中,我设置
这
backBarButtonItem
以编程方式navigationItem.backBarButtonItem = UIBarButtonItem(title: "",
style: .plain, target: nil, action: nil)
请注意,您在视图控制器中看到的后退按钮标题是在导航堆栈中的前一个标题中设置的。
1)删除PositionAdjustment(如果有)。例如
bap.setBackButtonTitlePositionAdjustment(UIOffset(horizontal: 0, vertical: -64), for: .default)
2) 检查导航堆栈中的前一个 ViewController 是否有标题
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)