Похоже, что iOS не обновляет расположение панелей инструментов при повороте устройства, если элементы панели инструментов добавляются с использованием кода, а не определены в раскадровке.
Решение состоит в добавлении обработчика viewWillTransition
и установите VC's toolbaritems
nil, а затем вернитесь к нужным элементам панели кнопок.
// method within a UIViewController class
// set to nil so that iOS places buttons correctly on a rotation
tools = ... // an [UIBarButtonItem]
toolbarItems = nil
setToolbarItems(tools, animated: false)
Если ваша панель инструментов была [FlexibleSpace] [UIBarButtonItem] [FlexibleSpace], тогда этот обработчик будет держать BarButtonItem
вцентр его панели инструментов при повороте устройства.