1

Facebook のようなスワイプ メニューを実装しましたが、ナビゲーションに問題があります。

私は3つのViewControllerを持っています

  • 他の 2 つを含む MainViewController
  • アプリケーションの「ホームページ」である HomeViewController
  • さらにナビゲートするためのボタンを含む SwipeMenuViewController

ここで、HomeViewController から 2 番目のページへのセグエを実行したいと考えています。ボタンを HomeViewController に配置し、cmd + で 2 ページ目の Action segue: Push にドラッグしました。

アプリケーションを実行すると、次のエラー メッセージが表示されます。

Terminating app due to uncaught exception 'NSGenericException', reason:
'Push segues can only be used when the source controller is managed by
an instance of UINavigationController.'

したがって、基本的には、Facebook が使用するものとまったく同じナビゲーション、メイン ページのメニュー ボタン、または左上隅の戻るボタンを作成したいと考えています。

どんなアイデアでも大歓迎です!

ストーリーボード

Facebookいいねスワイプメニュー

4

1 に答える 1

1

コンテナ ビュー コントローラを検討することをお勧めします。メニューを現在のビュー コントローラーから離れて別のビュー コントローラーに移動する代わりに、元のビュー コントローラーの事前定義されたビューに子ビュー コントローラーとしてメニューを表示します。

これには、次のような利点があります。

  1. メニューの表示/非表示のカスタム アニメーション
  2. 元の画面の一部が表示されたままの部分的な画面メニュー (ユーザーがメニューのように感じ、同じ場所にいるように感じさせる)

ユーザーがメニューをトリガーすると (スワイプ/タップ/etc)、メニューの「子」ビュー コントローラーを (オフスクリーン) ビューに追加し、ビューを表示位置にアニメーション化します (frame.origin.バツ)。却下されたら、プロセスを逆にします。

于 2012-11-08T14:25:49.113 に答える