Не могу разобраться со scrollView. Вот так выглядит мое окно:
Высоту окна сделал Freeform и поставил 730.
Вот так выглядит иерархия:
Каждый серый квадрат - кнопка, и у каждой установлен aspect ratio 1:1.
Сам скроллинг у меня работает только при выполнении следующего кода, если его убрать, то экран скроллится, но потом сразу возвращается в исходное состояние:
let differentOfSize = additionalView.frame.height - view.frame.height + 64
if differentOfSize > 0 {
scrollView.contentInset = UIEdgeInsets(top: 0, left: 0, bottom: differentOfSize, right: 0)
}
Добавляю 64, т.к. 20 на окно состояния и 44 на navigationBar.
Но вот в чем основная проблема, additionalView у меня всегда равен 710, независимо от того, на каком устройстве запускаю программу, но т.к. aspect ratio у кнопок 1:1, то на устройствах с большим экраном каждая кнопка больше, и в итоге скроллинг нормально работает только на 5s, а на том же 7 Plus он работает только до середины третьей кнопки.
Как сделать, чтобы скроллинг работал нормально независимо от устройства?