Панель навигации Viewcontroller добавлена ​​ниже панели навигации контроллера навигации внутри контроллера панели вкладок - PullRequest
0 голосов
/ 09 февраля 2020

У меня есть контроллер панели вкладок, в котором есть навигационный контроллер с подключенным контроллером представления. По какой-то неизвестной причине панель навигации контроллера представления не выглядит так, как всегда. Вместо этого под навигационным контроллером добавлена ​​панель навигации контроллера вида.

Когда я смотрю на контроллеры представления, встроенные в первый контроллер навигации, до отображения контроллера панели вкладок, она работает, как и ожидалось.

Вот как это должно выглядеть

enter image description here

И это

enter image description here

Теперь, когда я перехожу к контроллеру панели вкладок, в котором есть новый контроллер навигации со встроенным контроллером представления, он выглядит так:

enter image description here

Надеюсь Вам не нужна дополнительная панель навигации ниже той, которая предоставляется контроллером навигации. Я хочу, чтобы заголовок и элемент контроллера представления были объединены с контроллером навигации. Таким образом, в конечном результате должна отображаться строка с кнопкой «Назад», заголовком и элементом панели кнопок (Поиск изображения)

Чего мне не хватает?

Я также попытался добавить элементы навигации программно, но, кажется, ничего не работает.

Проект на github

Мой код

    //
//  SideViewController.swift
//  Sample
//
//  Created by  on 08.02.20.
//  Copyright © 2020 . All rights reserved.
//

import UIKit

class SideViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        title = "Search"

    }
    @objc func action(){

    }

    /*
    // MARK: - Navigation

    // In a storyboard-based application, you will often want to do a little preparation before navigation
    override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
        // Get the new view controller using segue.destination.
        // Pass the selected object to the new view controller.
    }
    */

}

1 Ответ

0 голосов
/ 09 февраля 2020

Я обнаружил, что есть два способа решить эту проблему: либо представить контроллер панели вкладок модально, либо скрыть панель навигации контроллера панели вкладок при просмотре.

Первое решение может быть достигнуто следующим образом:

  1. Откройте Main.storyboard.
  2. Выберите последний переход в этой раскадровке (тот, который переходит к боковой раскадровке).
  3. Убедитесь, что у вас есть Инспектор атрибутов выбрано. Теперь измените атрибут Вид на Представить модально и Представление Атрибут на Полноэкранный . enter image description here

И второе решение может быть достигнуто следующим образом:

  1. Создайте новый файл, выбрав Файл > Новый > Файл > Класс Какао Touch и нажмите Далее.
  2. Измените Подкласс: на UITabBarController и назовите свой класс
  3. Затем внутри viewDidLoad() вставьте navigationController?.navigationBar.isHidden = true, чтобы скрыть текущую панель навигации.
  4. Назначьте свой класс TabViewController в Side раскадровка, выбрав TabViewController и изменив атрибут Class на имя вашего класса в Identity Inspector . Он должен автоматически заполняться при вводе имени класса. Нажмите Введите , чтобы убедиться, что вы подтвердили изменения.

Не забудьте сделать только один из этих двух решений. Какой это будет, зависит от ваших потребностей.

...