2016-12-29 5 views
0

これは簡単なことだと思っていましたが、タイトルに問題があります。私は2つのViewControllerを管理するTabBarControllerを持っています。 tabBarControllerが提示されています。ナビゲーションコントローラに埋め込まれているtableViewからshow segueを表示します。私はこれが正しいかどうかについて異なる視点を読んだ。私のUIビューからは理にかなっているようです。 Personはテーブルセルをクリックし、TabBarコントローラビューでテーブルセルの詳細情報を表示します。UITabBarController内のViewControllerのタイトルを設定する

私がアプリをテストするとき、私はストーリーボードに1つ追加したにもかかわらず、全くタイトルが表示されません。また、ナビゲーションバーの右側には、いずれも表示されないナビゲーションボタンが追加されました。添付の画像を参照してください。私はこの

self.title = "Some Title Name" 

ような何かをしようとしていた。しかし、再びアプリをテストするとき、私のタイトルも私のボタンも現れタイトルを設定するには

。上のコード行を使用すると、タブのタイトルが変更され、ビューコントローラのタイトルは変更されません。

これは、ナビゲーションコントローラの一部であるtabBarと関係があります。したがって、コントローラは、私が見ることができる戻るボタンのように、タイトルバーを作成して入力するものです。このような場合は、ナビゲーションバーの右側にタイトルとボタンを追加できますか? enter image description here enter image description here

enter image description here

+0

navigationItem.title = "Some Title Name" – bubuxu

+0

これは、タブのタイトル(画面の下部にあるボタン)を変更します – icekomo

答えて

1

あなたがself.title = "Some title"を行うとタブバーのタイトルの変更理由することができますように、あなたは、正常に動作しているのViewControllerのタイトルを設定しています。しかし、これはナビゲーションバーのタイトルとは異なります。

デフォルトでは、タブバーのViewControllerにはナビゲーションバーがありません。ナビゲーションコントローラにビューコントローラを埋め込むか、ストーリーボード要素からナビゲーションバーをドラッグアンドドロップする必要があります。

ナビゲーション・バーがナビゲーション・コントローラに組み込まれている場合は、self.navigationItem.title = "Some title"を実行すると動作します。

しかし、ナビゲーションバーが表示されている場合は、UI要素をビューコントローラにドラッグします。その場合、そのナビゲーションバーをIBOutletとして接続して変更する必要があります。

@IBOutlet weak var navBar: UINavigationBar! 

override func viewDidLoad() { 
    super.viewDidLoad() 
    self.navBar.topItem?.title = "Some Title" 
} 

現在表示されているナビゲーションバーについて、制約を追加しようとしましたか?ここで

+0

ナビゲーションバーを追加すると、ナビゲーションバーの下に表示されますナビゲーション・コントローラが前のビューから追加するイオン・バー。そのナビゲーションバーに戻るボタンがあります。ナビゲーションバーの右側にタイトルとボタンを追加できるかどうかを知りたいだけです。 – icekomo

+0

@cekomoはいできます。ボタンを追加するには、ストーリーボードのナビゲーションバーにバーボタン項目をドラッグします。 –

+0

ストーリーボードにはナビゲーションバーが表示されません。下部にはUITabBarItemがありますが、上部には何もありません。私は、このナビゲーションバーは、それが埋め込まれているナビゲーションのためにXcode経由で動的に追加されていると思います。テーブルセルを選択すると、ナビゲーションバーが作成されたときに、このタブバービューコントローラーに切り替わります。私はいくつかの画像を追加して、ストーリーボードと私の文書概要を見せてくれました。 – icekomo

0

は、私はこれらの問題を解決するために使用するものである:

に表示するタイトルを取得するには:

tabBarController?.title = "Your Title" tabBarController?.navigationItem.rightBarButtonItem = UIBarButtonItem(title: "Right Button Title", style: UIBarButtonItemStyle.Plain, target: self, action: "rightButtonFunction") 

ナビゲーションバー

let button = UIButton.init(type: .custom) button.setImage(UIImage.init(named: "pencilIcon.pdf"), for: UIControlState.normal) button.addTarget(self, action:#selector(DetailsViewController.callMethod), for: UIControlEvents.touchUpInside) button.frame = CGRect.init(x: 0, y: 0, width: 30, height: 30) //CGRectMake(0, 0, 30, 30) let barButton = UIBarButtonItem.init(customView: button) tabBarController?.navigationItem.rightBarButtonItem = barButton 
の右側にあるアイコンを使用するには
関連する問題