У меня есть приложение с пользовательской панелью навигации iOS. Я создаю его с нуля, создав подклассы UIView
.
. Я хочу, чтобы навигация расширялась от верхней безопасной области или ниже верхнейстрока состояния (в зависимости от того, какая версия iOS и устройство мы говорим) определенное количество пикселей.Мне также нужно, чтобы он расширялся до самого верха экрана независимо от устройства, поскольку панель навигации является полупрозрачной и должна иметь прокрутку содержимого под ней.Это означает, что содержимое будет прокручиваться под строкой состояния и в безопасной области.
Я успешно создал динамическую версию, которая не имеет жестко закодированных значений, за исключением знания о том, что строка состояния составляет 20 пикселей.Это довольно сложно и может сломаться.Это также требует, чтобы я изменил размер в layoutSubviews
, когда вы знаете размер безопасной области.
Гораздо более простым решением было бы определение типа устройства и жесткого кодирования высоты на основе этого, но это кажется неправильным.Каковы недостатки жесткого подхода?