質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Xcode 7

Xcode 7は、ソフトウェア開発のためのアップルの統合開発環境であるXcodeのバージョン。UIを作成するために用いるグラフィカルツールです。iOS9/OS X El Capitan/watchOS2に対応。Swift 2コンパイラーが搭載されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

Q&A

解決済

1回答

1382閲覧

NavigationController下にあるVC同士のsegueの設定方法について

TsksHsgw

総合スコア23

Xcode 7

Xcode 7は、ソフトウェア開発のためのアップルの統合開発環境であるXcodeのバージョン。UIを作成するために用いるグラフィカルツールです。iOS9/OS X El Capitan/watchOS2に対応。Swift 2コンパイラーが搭載されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

0グッド

0クリップ

投稿2016/06/30 11:11

###前提・実現したいこと
質問をご覧いただきまして、ありがとうございます。

現在、NavigationControllerを使用した画面遷移について、
不明点があり、悩んでおります。
実現したいことを画像にまとめてみましたので、
ご覧いただければと思います。

イメージ説明

不明なのは、tableVC2とtableVC3との間の画面遷移です。
tableVC1とtableVC2、また、tableVC1とtableVC3の画面遷移では、
"Show"で遷移するように設定しているのですが、

tableVC2とtableVC3の間のsegueを作成すると、tableVC1との接続で生じているNavigationItemの部分が消えてしまいます。

画像のような機能を実装するのは可能でしょうか?
また、可能であれば、どのように実装するべきか
ご教示いただければ幸いです。

よろしくお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

話の腰を折ってしまうようで申し訳ないですが、
tableVC2とtableVC3で表示するそれぞれのテーブル内容は、同じデータですか?

もしそうでしたら、tableVC2とtableVC3の間で画面遷移するのではなく、
http://himaratsu.hatenablog.com/entry/tableview/editmode
とかで解説されているように、UITableViewを編集モードにしてセルの追加/削除/移動等のテーブル編集処理ができるようにすべきだと思います。
もし「編集」と言っているのがテーブルの編集ではなく、特定のセル内のデータを編集する話であれば、tableVC3のセルをタップしたら、指定の1セルだけを編集可能な状態で表示する別のViewControllerに画面遷移し、その画面で特定の1セルを編集する形にすべきだと思います。

画面遷移の考え方についてあまり理解されていないように思いますので、一度
http://qiita.com/usagimaru/items/9b55daa4d88b0bb98f38
を読んでみることをお勧めします。
NavigationControllerを使用した画面遷移は上記の記事の「プッシュ(階層型)」と描かれている画面遷移です。この画面遷移を「階層型」と呼ぶのは私はあまり好きではないのですが、情報に一定方向の流れがある時に左から右に画面遷移していくことで順に表示していく画面遷移方式がNavigationControllerを使用した画面遷移です。
その考えからすると、同じデータを表示モードか編集モードに切り替えるのは、NavigationControllerを使用した画面遷移には馴染みません。それは同じデータの表示形式が変わるだけなので、画面遷移ではなく画面のレイアウト容を変えて対応すべきだということです。

投稿2016/06/30 14:38

TakeOne

総合スコア6299

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

TsksHsgw

2016/07/01 01:25

TakeOne様 ご回答いただきまして、ありがとうございます。 わかりにくい質問で申し訳ございませんでした。 質問内容の「編集」は、後者の意味で使っておりました。 説明が不十分で申し訳ございません。 また、インターフェイスの考え方についてわかりやすい記事を ご紹介いただきまして、ありがとうございます。 アプリ開発初心者の自分にとって自分で調べても 上手く理解できなかったことを詳細に解説してあるので、 これまでより理解が深まりました。 今回は、どうしても全てのテーブルのデータを1つのViewで設定 できるようにしたいので、 NavigationControllerは使わない方法で自分の想定している 機能を実現しようと思います。 ご丁寧にご回答いただきまして、誠にありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問