Попытка понять макеты для поддержки iOS 9.3 программно

Dennish спросил: 26 декабря 2017 в 07:56 в: ios

У меня есть tabViewController с navigatonController как вкладка 1. Корневой вид navigationController - listView и выбор элемента подталкивает pageViewController в стек. PageVC управляет массивом того же viewController, который имеет scrollView с динамическим контентом и прокручивает по вертикали. ScrollView привязан к якорям viewController с помощью этого кода:

    if #available(iOS 11.0, *) {
        NSLayoutConstraint.activate([
            scrollView.topAnchor.constraint(equalTo: view.safeAreaLayoutGuide.topAnchor, constant: 0),
            scrollView.leftAnchor.constraint(equalTo: view.safeAreaLayoutGuide.leftAnchor, constant: 0),
            scrollView.rightAnchor.constraint(equalTo: view.safeAreaLayoutGuide.rightAnchor, constant: 0),
            scrollView.bottomAnchor.constraint(equalTo: view.safeAreaLayoutGuide.bottomAnchor, constant: 0)
            ])
    }else {
        NSLayoutConstraint.activate([
            scrollView.topAnchor.constraint(equalTo: view.topAnchor, constant: 0),
            scrollView.leftAnchor.constraint(equalTo: view.leftAnchor, constant: 0),
            scrollView.rightAnchor.constraint(equalTo: view.rightAnchor, constant: 0),
            scrollView.bottomAnchor.constraint(equalTo: view.bottomAnchor, constant: 0)
            ])
    }

Мне нужно поддерживать устройства iPhone 4s (iOS 9.3).

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

Проблема, которую я имею, - это версии iOS меньше, чем 11. Содержимое scrollView изначально отображается правильно, но если я нажимаю или прокручиваю содержимое, верхняя часть перемещается за панель навигации, и я больше не вижу вершины scrollView. То же самое для нижней части scrollView и панели вкладок.

Я пробовал несколько предложений стека для edgeForExtendedLayout, scrollView вставки и т. Д., Но не могу найти правильное решение. Я бы в идеале хотел бы понять ограничения, руководства по макетам и т. Д. Программно, и любые ссылки на учебники были бы хороши в течение другого дня.

0 ответов