0

ストーリーボードを使用しています。私は を持ってUINavigationControllerUITableViewControllerますrootViewController。このテーブル ビューから、ユーザーは次の 2 つの方法でDetailViewController(カ​​スタムUIViewControllerサブクラス) にアクセスできます。

  1. 表のセルをタップしてその情報を表示します
  2. プラスボタンをタップして新しいアイテムを作成します

方法 1 では、セグエをプッシュしたいと思います。方法 2 では、詳細をモーダルに表示したいと考えています。

最初はそんなに難しくないと思っていたのですが、ちょっと面倒で反対されました。この問題の原因: ナビゲーション バー。次のビューがプッシュされると、ナビゲーション バーが表示されます。ただし、次のビューがモーダルで表示されるとき、ナビゲーション バーは表示されません。

Apple がこれについて考えており、これが最も論理的なアプローチであることは知っていますが、モーダル ビューを再度閉じるには、モーダル ビューにナビゲーション バーが必要です (キャンセル ボタンと完了ボタンを使用します)。Interface Builder を使用してこのナビゲーション バーを追加してもうまくいきません。モーダルに表示されたビューでは問題なく動作しますが、プッシュされたビューでは、突然 2 つのナビゲーション バーが表示されます。

これに対する論理的な解決策は、ビューがモーダルに表示されている場合にのみ、ナビゲーション バーをプログラムで追加することです。こうしたらナビゲーションバーは表示されたのですが、ビューに重なってしまいました。プッシュされているビューと同じサイズになるようにビューのサイズを変更しようとしましたが、問題を解決できませんでした: ナビゲーション バーがまだビューに重なっています。

この時点でやめた理由は 2 つあります。もう何を試せばよいかわからなかったことと、これを達成しようとしているのはおそらく私だけではないので、もっと簡単な方法があるはずだと感じたことです。

誰でも私を助けることができますか?

4

1 に答える 1

1

詳細ビュー コントローラーをルート ビュー コントローラーとして別のナビゲーション コントローラーを作成できます。次に、メインのビュー コントローラーをプレゼンターとして使用して、その新しいナビゲーション コントローラーをモーダルに表示します。

于 2012-10-26T21:23:26.747 に答える