我需要在我的JSQMessagesVC顶部设置一个条形或一些空间以允许用户退出它,但在故事板中添加元素不起作用,因为我猜chatVC覆盖了所有内容在故事板?它还让我相信,连接到我的ChatVC的导航控制器不会做任何事情,因为它将被代码覆盖。
我有大约4页,但我没有在它们之间使用导航控制器。我宁愿只留空间,把自己的按钮放在顶部。这也将解决消息一直到状态栏的问题。
答案 0 :(得分:0)
首先添加一个navigationController,然后将JSQMessagesView推送到那个。
答案 1 :(得分: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)
}