На моей панели инструментов я пытаюсь правильно расположить три кнопки. Один посередине, который должен оставаться по центру по горизонтали, а затем один выровненный влево и один выровненный вправо. Но поскольку текст для левой кнопки длиннее, чем средняя или правая, элементы-разделители, похоже, не будут давать желаемого эффекта пробела. Я пробовал фиксированный и гибкий, но, конечно, использование фиксированного типа не будет динамически реагировать на различные ширины экрана, а гибкие (UIBarButtonSystemItemF FlexibleSpace) не будут удерживать среднюю кнопку в центре.
I ' Я определил макет как в Интерфейсном Разработчике, так и программно, и я получаю тот же эффект, что вы видите здесь. Например, iPhone 6s выглядит следующим образом:
, а iPhone 11 Pro выглядит так:
Как видите, кнопка «Середина» не центрирована. Используя UIBarButtonSystemItemFixedSpace вместо UIBarButtonSystemItemF FlexibleSpace, я мог бы точно определить ширину распорок, но для правильного вычисления мне нужно было бы знать ширину каждого UIBarButtonItem, а также правильный метод делегата, чтобы сделать это. Это возможно, или я должен сделать пользовательский вид (или что-то еще), чтобы этот UIToolbar выглядел так, как я хочу?