Как добиться полного совпадения верстки приложения с макетом?
Есть макет в Figma и есть желание точь-в-точь его повторить, чтобы при сравнении скриншотов разницы не было вообще. Как можно достичь подобного на разных разрешениях экрана?
Пока такие мысли (привожу примеры с помощью SnapKit, но суть одна и та же):
Величины в констрейнтах разнятся от девайса к девайсу. Например,
view.snp.bottom.equalToSuperview().inset(24): согласитесь, 24 поинта на iPhone SE это не те 24 поинта, что на iPhone 12 Pro Max. Тогда можно использовать относительные величины (с помощьюmultipliedBy), но, кажется, это не лучшее решение. Во-первых, код становится замусорен множеством чисел с плавающей точкой (повторюсь, стоит цель полного соответствия макету), во-вторых, кажется, это дорого.Окей, если все-таки задавать констрейнты относительно: все работает, но что делать с отступами между элементами – как их задавать? Например: нужно сделать отступ в 25 pt между
viewиview2. Пустьview2.snp.bottom= 100.view.snp.top.equalTo(view2.snp.bottom).multipliedBy(1.25)- выглядит странно и не работает.Что делать со шрифтами? Каждый раз задавать фрейму шрифта какой-то фиксированный прямоугольник и использовать
.adjustsFontSizeToFitWidth?