Есть кнопка в UIToolbar на полную высоту под индикатором iPhone X Home - PullRequest
0 голосов
/ 17 мая 2019

У меня есть UIToolbar в нижней части экрана, который содержит три кнопки, все с разными цветами фона.Я использую автоматическую компоновку и ограничил панель инструментов нижним руководством по макету (я должен поддерживать iOS 8, поэтому не нужно руководств по макету безопасной области), чтобы панель инструментов правильно отображалась над индикатором iPhone X Home.

Моя проблемачто я хочу, чтобы кнопки покрывали всю высоту панели инструментов и рисовали ниже индикатора Home.В настоящее время у меня есть это:

Current

Обратите внимание на пробел под индикатором Home.

Я бы хотел, чтобы это пространство было закрытопо цвету фона кнопки (метки, конечно, должны оставаться выше индикатора Home):

Ideal

Я должен поддерживать устройства до упорав iOS 8 , альбомный и портретный режим.

Редактировать:

Когда я ограничиваю панель инструментов в нижней части суперпредставления, она тоже сидитнизкий и кнопки покрыты индикатором Home:

Aligned to bottom

Ответы [ 3 ]

1 голос
/ 17 мая 2019

Если вы используете автоматическую разметку, то вам нужно добавить нижнее ограничение для супервидения в небезопасной области, тогда оно должно работать.

Если вы используете фреймы, то, вероятно, вы можете немного изменить высоту, чтобы получитьжелаемый результат.

Редактировать:

И если вы хотите поддерживать устройства ниже iOS 11, вы, вероятно, можете использовать приведенный ниже взлом, чтобы проверить тип устройства и задать высоту панели вкладок.соответственно, но вам придется указать ограничения в коде.

if #available(iOS 11.0, *) {
    if UIApplication.shared.windows[0].safeAreaInsets.bottom > 0{
        //The device is a notch device and you need to give extra height to accommodate the bottom button and tab (Make sure your labels are attached to the top so they are properly placed over the bottom line)
    }else{
        //The device is not a notch device and is iPhone 8 or less so you can have regular tab bar height
    }
} else {
    //You probably do not have to worry about increased tab bar height and you can give regular tab bar height
}

Возможно, это не лучшее решение, но вы сможете решить свою текущую проблему на данный момент.Надеюсь, это поможет

0 голосов
/ 17 мая 2019

Я думаю, что это будет работать для вас.

  1. Вам нужно установить ограничение кнопки на панели инструментов на безопасную область.
  2. Затем вам нужен еще один вид, который содержит только три цветных вида.без текста.и установите следующее ограничение для этого представления.-> Вертикальное ограничение пространства для панели инструментов -> Ведущее, конечное и нижнее ограничение для суперпредставления.

Таким образом, в устройствах Nouch этот фиктивный вид расширяется, а в других устройствах его высота автоматически обнуляется.

Не требуется специфическое для устройства кодирование.

0 голосов
/ 17 мая 2019

Вы должны играть с ограничениями, устанавливая ограничение высоты для каждой кнопки и увеличивать / уменьшать в зависимости от состояния устройства.

...