Повторно применить ограничения после сокрытия UITabBar - PullRequest
0 голосов
/ 05 февраля 2019

У меня есть UIButton, который ограничен нижним якорем safeAreaLayoutGuide представления и UITabBar в этом UIView.Там все хорошо.Однако при полноэкранном режиме изображения я скрываю UITabBar.Когда я закрываю полный экран, я снова показываю UITabBar.Тем не менее, UIButton движется вниз и не ограничивается UITabBar, как это было до того, как UITabBar было скрыто.UIButton частично покрывается UITabBar.Любые решения?

Вот полноэкранный код отклонения.

@objc func dismissFullscreenImage(_ sender: UITapGestureRecognizer) {
    sender.view?.removeFromSuperview()
    self.navigationController?.isNavigationBarHidden = false
    self.tabBarController?.tabBar.isHidden = false
}

1 Ответ

0 голосов
/ 05 февраля 2019

Вот две вещи, которые вы можете попробовать:

Решение 1:

Добавить эту строку в dismissFullscreenImage():

self.view.setNeedsLayout()

Это аннулируетмакет self.view и вызывает его повторную компоновку.


Решение 2:

Вы можете избежать необходимости ретрансляции вида, сделавnavigationBar и tabBar невидимы.

Вместо того, чтобы скрывать / показывать navigationBar и tabBar путем изменения их свойств isHidden, попробуйте установить их значения alpha:

// hide
self.navigationController?.navigationBar.alpha = 0
self.tabBarController?.tabBar.alpha = 0

// show
self.navigationController?.navigationBar.alpha = 1
self.tabBarController?.tabBar.alpha = 1
...