У меня возникли проблемы с нижней панелью UIToolbar на iPhone. Высота полосы, по-видимому, зависит от ориентации устройства во время перехода к сцене и не обновляется при изменении ориентации.
- Когда я перехожу к сцене в портретном режиме, нижняя полоса имеет высоту 44. Когда я затем поворачиваю телефон (здесь iPhone XR), высота полосы остается равной 44.
- Когда я открываю сцену в ландшафтном режиме, высота нижней панели составляет 49, а также остается 49, когда я поворачиваю телефон вертикально.
Это можно легко воспроизвести с помощью простого приложения с двумя сценами, такого как это:
Поначалу это не было проблемой — пользователь даже не замечал небольшого изменения. Но теперь я использую нижнюю панель в разделенном представлении. Когда он первоначально открыт в книжной ориентации, нижняя панель инструментов имеет высоту 44. При повороте телефона в альбомную ориентацию открывается подробный вид с собственной панелью инструментов высотой 49. Затем у меня есть две панели инструментов с разной высотой рядом друг с другом, что довольно уродливо:
Итак, вопрос в том, как я могу гарантировать, что высота панели инструментов либо обновляется при изменении ориентации, либо высота всегда одинакова (как, например, в приложении электронной почты). Я не хочу жестко задавать высоту, ожидая, что это в конечном итоге ухудшит ситуацию в будущих версиях iOS или на других устройствах.
Я использую Xcode 10.1, запускаю приложение на iPhone с iOS 12.1.2.