2017-07-21 7 views
1

私はiOS開発でまだまだ新しいので、私が持っている誤解を許してください。私は多くの画面(これらのメイン画面を呼び出す)の中で共通の再利用可能なビュー(「バナービュー」と呼ぶ)を持つObjective-Cでアプリケーションを作成しています。このバナービューには、ポップアップヘルプ表示(「ヘルプビュー」と呼ぶ)を表示するボタンがあります。私は可能な限り多くのビューを再利用できるようにこれを行う最善の方法を見つけようとしています。再利用可能なビューの内部からポップオーバービューを表示しますか?

  1. は、2つのカスタムニブ(バナー表示、ヘルプの表示のための1つに1つ)を作成します。私が試した何

    。これは、すべてのメイン画面(UIView - >カスタムクラス:バナービュー)でバナービューを表示するために機能しましたが、バナービューを含むメイン画面内にヘルプビューを動的に表示する方法を理解できませんでした。

  2. バナービューとヘルプビューの両方でバナーストーリーボードを作成します。私はビューを転送した対応するバナーコントローラ(ストーリーボードの初期コントローラ)とヘルプコントローラ(ポップオーバーセグのリンク)を作成しました。次に、メイン画面の中にコンテナビューを配置し、ビューコントローラのカスタムクラスをバナーコントローラに設定しようとしました。これはバナーをまったく表示しませんでした。

これを行うにはどのような方法が最適ですか?それも可能ですか?

答えて

1

代わりに、両方のビューをスタックビューに置き、ヘルプビューを表示/非表示にしました。

1

バナービューから一番上のviewcontrollerを取得できます。そして、ヘルプ画面を表示します(ヘルプ画面はUIViewではなくUIViewControllerでなければなりません)。 トップビューコントローラを取得するには、この回答のコードを使用してください:https://stackoverflow.com/a/24825480/2984553。その後、このコードでヘルプビューを表示することができます:

[topViewController presentViewController:HelpViewController animated:YES completion:nil];

+0

興味深い実装については、これも確認します。ありがとう! –

+0

@NoahHaraszは、それが役に立ったと答えたときに、答えを記入することができます:) –

関連する問題