在 iOS 10 及以下版本中,有一种方法可以将负间隔符添加到导航栏中的按钮数组中,例如:
UIBarButtonItem *negativeSpacer = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFixedSpace target:nil action:nil];
negativeSpacer.width = -8;
self.navigationItem.leftBarButtonItems = @[negativeSpacer, [self backButtonItem]];
iOS 11上不再起作用(间隔器变为正数而不是负数)。我已经检查了栏按钮项的视图层次结构,它现在嵌入到_UIButtonBarStackView
中。如何调整iOS 11上栏按钮的位置?
<_UIBarBackground: layoutMargins = {8, 8, 8, 8},<_UINavigationBarLargeTitleView: layoutMargins = {0, 16, 0, 16}, <_UINavigationBarContentView: layoutMargins = {0, 16, 0, 16}, <_UINavigationBarModernPromptView: layoutMargins = {8, 8, 8, 8}
- Josh Bernfeld尝试更改私有视图的布局边距的客户端错误
。 - king wang