iOS 11中后退按钮未正确对齐

i70*_*0ro 4 uibarbuttonitem pushviewcontroller navigationbar ios11

我们开始使用Xcode 8.3处理我们的项目,直到iOS 10都很好但是当我们在iOS 11中运行相同的应用程序时,后退按钮没有按预期对齐,如下图所示

iOS 11截图

但是对于iOS 10,它已经正确对齐

iOS 10截图

这就是我们得到的布局约束错误

(
"<NSLayoutConstraint:0x600000288200 _UIModernBarButton:0x7f7ef5c87f10.bottom == UILayoutGuide:0x6000005a0380'UIViewLayoutMarginsGuide'.bottom + 64.5   (active)>",
"<NSLayoutConstraint:0x600000287f30 V:[_UIModernBarButton:0x7f7ef5c87f10]-(>=0)-|   (active, names: '|':_UIButtonBarButton:0x7f7ef5c86e60 )>",
"<NSLayoutConstraint:0x600000282030 'UIView-bottomMargin-guide-constraint' V:[UILayoutGuide:0x6000005a0380'UIViewLayoutMarginsGuide']-(16)-|   (active, names: '|':_UIButtonBarButton:0x7f7ef5c86e60 )>"
Run Code Online (Sandbox Code Playgroud)

)

onm*_*133 7

对我来说,这是因为我使用下面的一些技巧来隐藏标题

UIBarButtonItem.appearance().setBackButtonTitlePositionAdjustment(UIOffsetMake(0, -1000), for: .default)
Run Code Online (Sandbox Code Playgroud)

我们不应该这样做,它不适用于iOS 11,并会像你发布的那样触发很多自动布局问题.所以检查你是否有appearance后退按钮.

如果你真的想隐藏后退按钮上的文字,你应该做/sf/answers/3282233531/