1

Мне нужно иметь либо бар, либо какое-то место в верхней части моего JSQMessagesVC, чтобы позволить пользователям выйти из него, но добавление элементов в раскадровку не работает, потому что я думаю, что chatVC переопределяет все в раскадровка? Это также заставляет меня поверить, что получение контроллера nav, подключенного к моему ChatVC, ничего не сделает, потому что он будет переопределен кодом.Навигационная панель с JSQMessages?

У меня около 4 страниц, но я не использую контроллер навигации между ними. Я бы предпочел просто космос и поместил свою собственную кнопку наверху. Это также устранит проблему с сообщениями, которые доходят до строки состояния.

Как получить пространство вверху JSQVC, чтобы позволить пользователю отступить? Если мне нужно использовать контроллер навигации, можно ли просто использовать навигацию для одного вида? enter image description here

ответ

0

Сначала добавьте навигационный контроллер, а затем нажмите на JSQMessagesView.

0

У меня была такая же проблема, что и у вас, для решения этой проблемы я создал навигационную панель программно. Для этого вы можете создать функцию и вызвать функцию от viewDidLoad или viewDidAppear.

func addNavBar() { 
     let navigationBar = UINavigationBar(frame: CGRect(x: 0, y: 0, width: view.frame.size.width, height:54)) // Offset by 20 pixels vertically to take the status bar into account 

     navigationBar.barTintColor = UIColor.black 
     navigationBar.tintColor = UIColor.white 

     navigationBar.titleTextAttributes = [NSForegroundColorAttributeName:UIColor.white] 

     // Create a navigation item with a title 
     let navigationItem = UINavigationItem() 
     navigationItem.title = "NavBarAppears!" 

     // Create left and right button for navigation item 
     let leftButton = UIBarButtonItem(title: "Back", style: .plain, target: self, action: #selector(btn_clicked(_:))) 

     let rightButton = UIBarButtonItem(title: "Right", style: .plain, target: self, action: nil) 

     // Create two buttons for the navigation item 
     navigationItem.leftBarButtonItem = leftButton 
     navigationItem.rightBarButtonItem = rightButton 

     // Assign the navigation item to the navigation bar 
     navigationBar.items = [navigationItem] 

     // Make the navigation bar a subview of the current view controller 
     self.view.addSubview(navigationBar) 
    } 

    func btn_clicked(_ sender: UIBarButtonItem) { 
     // Do something 
     performSegue(withIdentifier: "segueBackToHomeVC", sender: self) 
    } 
Смежные вопросы