Как добавить UIView над вкладкой? - PullRequest
0 голосов
/ 28 апреля 2020

У меня есть UIView, который я использую для создания представления контейнера комментариев: Код:

  func setupCommentsContainerView() {
    commentsContainerView.translatesAutoresizingMaskIntoConstraints = false
    view.addSubview(commentsContainerView)

    NSLayoutConstraint.activate([
        commentsContainerView.leadingAnchor.constraint(equalTo: view.leadingAnchor, constant: 0),
        commentsContainerView.trailingAnchor.constraint(equalTo: view.trailingAnchor, constant: 0),
        commentsContainerView.topAnchor.constraint(equalTo: view.topAnchor, constant: 200),
        commentsContainerView.bottomAnchor.constraint(equalTo: view.bottomAnchor, constant: 0),
    ])

    // add child view controller view to container

    let controller = storyboard!.instantiateViewController(withIdentifier: "commentsVC")
    addChild(controller)
    controller.view.translatesAutoresizingMaskIntoConstraints = false
    commentsContainerView.addSubview(controller.view)

    NSLayoutConstraint.activate([
        controller.view.leadingAnchor.constraint(equalTo: commentsContainerView.leadingAnchor),
        controller.view.trailingAnchor.constraint(equalTo: commentsContainerView.trailingAnchor),
        controller.view.topAnchor.constraint(equalTo: commentsContainerView.topAnchor),
        controller.view.bottomAnchor.constraint(equalTo: commentsContainerView.bottomAnchor)
    ])

    controller.didMove(toParent: self)
}

Проблема, с которой я сталкиваюсь, заключается в том, что я запускаю это в homeV C, который подключен к контроллеру представления на родительский контроллер вкладок. И тогда tabbarr появляется над контейнером.

Как мне сделать, чтобы появиться выше?

1 Ответ

1 голос
/ 28 апреля 2020

Вы можете попробовать следующее:

Способ 1. Добавить commentsContainerView непосредственно на панель вкладок (предпочтительно)

    if let tab = tabBarController {
    tab.view.addSubview(commentsContainerView)
    //Your code
    }

Способ 2. Изменить zПоложение панели вкладок

    self.tabBarController?.tabBar.layer.zPosition = -1

, чтобы показать снова,

    self.tabBarController?.tabBar.layer.zPosition = 0

Если вы используете этот метод, убедитесь, что нет неожиданного побочного эффекта. Например, элементы панели вкладок по-прежнему будут реагировать на нажатия.

Метод 3. Скрыть панель вкладок

    self.tabBarController?.tabBar.isHidden = true
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...