2016-08-01 15 views
0

私はUITableViewでデータを表示するアプリケーションを作成しています。このデータには位置情報も含まれているので、このデータを表示するためにMapViewを追加します。ユーザーがUITableViewCelをタップすると、詳細データを表示するために別のUITableViewにセグメンテーションする必要があります。この詳細データの上に同じデータを持つMapViewを表示したいのですが、NavigationBarを更新する必要があります。つまり、戻るボタンはユーザーを最初のUITableViewに戻します。それが簡単に私はUINavigationControllerのサブクラスを作るとのMapViewの下にコンテナを置くことを考えていたが、私は本当にどこへ行くかわからない子ビューの上に表示されるビューをUINavigationControllerに追加する方法

DetailView of UINavigationController

を理解できるようにする画像形式で

そこから。

+0

データの第1セットをなかった表示するようにスイッチを設定し、表示していますUIViewControllerの下にmapViewとtableViewを配置しますか? –

+0

これをviewdidloadメソッドの 'self.title'で行うことができ、データをprepareforsegueメソッドで2番目のVCに渡すことができます。 –

+0

はい、最初のTableViewから同じマップビューを使用しながらNavigationBarを使用して最初のTableViewに戻ることができるように、最初のTableViewから2番目のTableViewに分割することができます。 –

答えて

0

VC0をナビゲーションコントローラまたはサブクラスUINavigationControllerに埋め込んでください。 Info ViewControllerを作成し、ナビゲーションコントローラ上に押します。

具体的には、UITableViewDelegateのdidSelectRowAtメソッドを使用することをお勧めします。

func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { 
    // use indexPath.section and indexPath.row to use your data 
    let infoVC = yourInfoViewController() 
    infoVC.title = "Info Cell Name" 
    navigationController?.pushViewController(infoVC, animated: true) 
} 

編集最初のコメントの後:

私はこれを行うための最善の方法が何であるかわからないんだけど、あなたがそれを行うことができますが、1つの方法は次のとおりです。

  • 修正表示されているものに基づいてテーブルビュー、すなわち:データまたはセル詳細データの最初のセット
  • ナビゲーションバーのタイトルを更新し、左にbデータのセットごとにARボタンあなたが
    • これらのボタンの一つが唯一のセル詳細データセットに表示され、それが戻っ
+0

しかし、私は同じマップビューを使い続けたいので、新しいマップビューをインスタンス化する必要はありません。 –

関連する問題