1

私はJSQMessagesVCの上部にバーやスペースを入れておく必要がありますが、chatVCがすべてをオーバーライドしていると思われるため、ユーザーがストーリーボードに要素を追加することはできませんストーリーボード?また、ChatVCにナビコントローラを接続すると、コードでオーバーライドされるため、何もしないと考えられます。JSQMessagesのナビゲーションバー?

約4ページありますが、それらの間にナビゲーションコントローラは使用していません。私はちょうどスペースを持って、自分のボタンを一番上に置いています。これにより、ステータスバーまで​​のメッセージの問題も修正されます。

JSQVCの先頭にスペースを残して、ユーザーが退室できるようにするにはどうすればよいですか?ナビゲーションコントローラを使用する必要がある場合は、単一のビューに対してナビゲーションを使用することは可能ですか? enter image description here

答えて

0

最初にnavigationControllerを追加し、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) 
    } 
関連する問題