正确控制导航leftBarButtonItems的姿势
层级结构
我看了对比了iOS9 和iOS 11的层级结构,如下:
可以看出,iOS11 之后NavigationBar的层级发生了较大变化。
通过比较,得出结论如下:
- 默认情况下,在320、375宽度的屏幕上,第一个按钮距离屏幕左边界的宽度是16,在414第一个按钮距离屏幕左边界的宽度是20。
- 默认情况下,在320、375宽度的屏幕上,BarButtonItems之间的间距是8,在414宽度的屏幕上,BarButtonItems之间的间距是10。
- iOS11 , 所有Items都包括在 _UIButtonBarStackView 下,控制它的X坐标即可控制左边距。
- iOS9,所有Item都在NavigationBar下,统计并排,所以控制左边距,只需要控制第一个元素的左边距。