@artem-Kolyadin

Как убрать лаги в ScrollView, который пролистывается под прозрачным navBar?

Попадаю в данный контроллер из navigationController, в котором есть tab bar. При переходе скрываю tabBar, а navigation bar делаю прозрачным, чтобы фото находилось прямо под кнопкой "назад" на главную. Для этого во viewWillAppear делаю следующее:
override func viewWillAppear(_ animated: Bool) {
        navigationController?.navigationBar.tintColor = .white
        self.navigationController?.navigationBar.setBackgroundImage(UIImage(), for: UIBarMetrics.default)
        self.navigationController?.navigationBar.shadowImage = UIImage()
        self.navigationController?.navigationBar.isTranslucent = true
        self.tabBarController?.tabBar.isHidden = true
    }


Проблемы:
1: При загрузке изначально все отображается вот так:
5b394c0e02249560015857.png
И уже потом через заметную для человеческого глаза задержку становится вот так (по сути как я и хочу):
5b394a31eb1f1044698232.png

2: Если свайпать вниз, то картинка и весь вью уплывает из под navigation bar, причем с какими-то странными подергиваниями и лагами (и также под этот navigation bar возвращается). Хотелось бы узнать как убрать эти лаги и заблокировать прокрутку вниз до такой меры, чтобы картинка не уплывала из под navbar и не оставляла пустое белое пространство. Есть подозрения что я не совсем правильно выставил constraints чтобы вообще реализовать работу этого scrollView, также напрягает то, что мне пришлось делать -44 для scroll view, чтобы он заполз под navigation bar, выглядит как-то костыльно.

Вот иерархия и весь autoLayout:
5b394e2be1cf3435492315.png
  • Вопрос задан
  • 245 просмотров
Решения вопроса 1
doublench21
@doublench21 Куратор тега Swift
Ну так наверное не нужно цеплять его к SafeArea, а зацепить напрямую к SuperView. Тогда и не нужно писать -44, будет просто 0.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы