2017-09-21 4 views
0

私は別のtableViewControllerにpopoverとしてseguesしてうまく動作するtableViewControllerを持っています。しかし、私が第2のtableViewControllerから第3のtableViewControllerにショー(例えばプッシュ)しようとすると、第3のtableViewControllerが右から左にスライドしないので、ポップオーバーとしてセグリングします。ポップオーバーからsegueを押し出すsegueが機能しません

これはカレンダーアプリで実装されていることがわかりました。新しいイベントの作成はポップオーバーセグ(下から上へのスライド)で、トラベルタイムセルの右から左へのセグメントですが、そうすることはできません。あなたの第2のテーブルビューコントローラをプッシュセグエのためのナビゲーションコントローラに組み込まれていることを確認する必要があり

Screenshot of the app layout - img

+0

サードtableviewcontrollerショーを助けるために喜んでいると思い、質問があれば私に知らせてください! –

+0

それはポップオーバー(下から上)として示しているが、私はそれが(右から左へ)から表示したい - セグエの種類は、属性インスペクタで(例えばプッシュ)を表示するように設定されています。 – Abdulwahab

+0

3番目のviewControllerを移動するには、デリゲートを使用する必要があります。つまり、ときに、ユーザーボタンへのタップは、最初のViewControllerにデリゲートを呼び出すと、私はそれを行うのですか3番目のビューコントローラ –

答えて

0

スウィフトであるかどう

答えは、コード内にある場合

は、私は本当に感謝します働く

そうでない場合は、表示されるように、3つ目のテーブルビューコントローラに接続しますが、Xcodeはデフォルトを使用してコントローラをモーダルに表示します。

ビューコントローラを独自のナビゲーションコントローラに組み込むには、2番目のビューコントローラを選択して、[エディタ]> [埋め込み先]> [ナビゲーションコントローラ]を選択します。以上です。

更新:スクリーンショットを追加していただきありがとうございます。ここでは既に1つの問題があります。あなたいいえいいえ d第3のナビゲーションコントローラと実際にはshould'ntあなたの問題の理由ですので、それを追加します。その背後にある理由は、コントローラー2がすでに独自のナビゲーションコントローラーに組み込まれているため、コントローラー3がスタックに自然にプッシュされるからです。私が説明してるものを説明するために、これは、それがどのように見えるべきかを示すために実施例である:あなたが見ることができるように

enter image description here

  • ように、コントローラ1は、独自のナビゲーションコントローラに埋め込まれています独自のナビゲーションバーを持つことができます。
  • さて、あなたはモーダルあなたのコントローラ2を提示したい、とあなたはコントローラ2は、同様にナビゲーションバーを持っていると思いますので、モーダルセグエを提示するだけでビューコントローラであるので、あなたは、あまりにも独自のナビゲーションコントローラに埋め込む必要があります自由のためのあなたのナビゲーションバーを与えるものではありません別のビューコントローラのモーダル(モーダルセグエの場合には、お使いのコントローラ2がスタックに追加されますしないことをここで理解して)
  • 最後に、あなただけのプッシュセグエを作成することができますコントローラ2からコントローラ3へ、そしてコントローラ3は、当然のことながら、探しているプッシュトランジションを作成するスタック(コントローラ2はルートコントローラです)に追加されます。

私はポップオーバーやない

+0

すべてのtableViewControllerをナビゲーションコントローラに組み込みましたが、私はちょうど質問に含まれていたスクリーンショットをチェックアウトします。 – Abdulwahab

+0

私はちょうど最初のsegueの種類をpopoverからpushに変更しましたが、まだpopoverとして表示されています。このアプリケーションのすべてのseguesがポップオーバーとして表示されるようです。 – Abdulwahab

+0

スクリーンショットを追加していただきありがとうございます!私は私の答えを更新する – Alex

関連する問題