iOS 会在旋转时自动重新布局 UIToolbar 上的 UIBarButtonItems 吗?

does iOS automatically relayout UIBarButtonItems on a UIToolbar on a rotation?

在情节提要中,我在 UIViewController 上有一个 UIToolbar。

UIBarButtonItem 是:

Left Button / Flexible Button / Nutton 2 / Button 3 / Button 4

应用程序启动时,UIToolbar 上的按钮正确 spaced,左按钮最左侧,按钮 2-4 与工具栏的右边缘对齐。

旋转后按钮没有移动,因此在从纵向旋转到横向时,按钮 4 右侧有很多 space。

我是否遗漏了自动重新布局的设置?我是否必须在函数 viewWillTransitionToSize:withTransitionCoordinator 中添加一些内容?

您希望的行为是工具栏的正常行为,因为您可以使用一个不包含任何东西的简单干净项目轻松地向自己证明 一个工具栏:

这是一个完全不标准的工具栏,因为您不应该像那样将工具栏放在其父视图的中间。但它的固定方式与您描述的要固定的工具栏完全一样,完全符合您在问题中描述的内容,并且它的行为完全符合预期。

因此我得出结论,您一定是在做一些 else 扰乱工具栏行为的事情,保持 它不做它应该做的事情通常会。但是你没有提供任何关于那是什么的信息,所以这就是我所能做的。