Как представить вид интерфейса и сохранить панель вкладок в Swift - PullRequest
0 голосов
/ 29 января 2019

Мне не удается представить представление пользовательского интерфейса и сохранить панель вкладок в Swift.Он успешно присутствует, но нет панели вкладок.Вот мой код.

navigationItem.leftBarButtonItem = UIBarButtonItem(title: "Back", style: .plain, target: self, action: #selector(goMessages))

- это то, что я использую.

class MessagesController: UITableViewController {
    let cellId = "cellId"

    override func viewDidLoad() {
        super.viewDidLoad()

        navigationItem.leftBarButtonItem = UIBarButtonItem(title: "Back", style: .plain, target: self, action: #selector(goMessages))

        let image = UIImage(named: "new_message_icon")
        navigationItem.rightBarButtonItem = UIBarButtonItem(image: image, style: .plain, target: self, action: #selector(handleNewMessage))

        checkIfUserIsLoggedIn()

        tableView.register(UserCell.self, forCellReuseIdentifier: cellId)

        //        observeMessages()
    }

    @objc func goMessages() {
        let storyBoard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
        let Messages = storyBoard.instantiateViewController(withIdentifier: "Messages") as! MainMSGController
        self.present(Messages, animated:true, completion:nil)

Ответы [ 2 ]

0 голосов
/ 29 января 2019

Вы должны вставить контроллер представления в ваш навигационный контроллер ViewView.

Но если у вас его нет, вы должны встроить свой контроллер сообщений в UINavigationViewController.(внутри вашей Main.storyboard выберите MessagesController, затем из меню Editor -> Embed in -> Navigation Controller)

и затем:

let storyBoard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
let Messages = storyBoard.instantiateViewController(withIdentifier: "Messages") as! MainMSGController
navigationController?.pushViewController(viewController: Messages, animated: true)

, чтобы закрыть его, вы можете:

navigationController?.popViewController(animated: true)
0 голосов
/ 29 января 2019

Вы не можете представить контроллер представления и держать вкладки.Вы можете только нажать контроллер вида, если вы хотите это сделать.Требуются некоторые другие вещи, но на первый взгляд они, кажется, правильно реализованы в вашем коде.

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