3

iPhone アプリの最初のビューで、Facebook タイプの左スライド バー レイアウトを実装しました。ここで、アプリケーション内のすべてのビュー コントローラー (画面) にこれを実装したいと考えています。つまり、ビューに関係なく、すべてのビューの上部にあるメニュー ボタンをクリックすると左のスライド バーが表示されるはずです。

アプリには 25 ~ 30 個のビュー コントローラーが含まれており、スライド バーのレイアウトはすべてのビューに表示されるはずです。

誰でも提案できますか、すべてのビューに上記のFBレイアウトを含めるにはどうすればよいですか

前もって感謝します

ラム

4

4 に答える 4

4

シンプルで、実装した 1 つのビュー コントローラーが機能していますFB layout。上の基本クラスにしUIViewControllerます。残りのすべての ViewController については、作成したばかりの MasterClass から継承します。これを行うと、スライド バーを表示するスワイプ ジェスチャが、30 個のビュー コントローラすべてで使用できるようになります。

編集

見てみましょう、UIViewController があります。まず、UIViewController のサブクラスを作成します。FBViewController とします。この FBViewController では、スワイプとすべてが機能するように FBLayout を実装します。..最初に、この FBViewController のみを使用してアプリをテストします。 rootViewController として、すべての機能を確認します。すべてが正常に機能したら、それを拡張します。つまり、これです。

3 つのタブすべてが同じ FBLayout スタイルを持つことになっているタブ付きアプリケーションを作成しているとします。次に、これらの手順を実行します。

  1. FBViewController を作成し、UIViewController から継承します (UIViewController サブクラス テンプレートを使用し、[XIB の生成] ボタンもチェックします)。また、FBViewController.XIB 用の XIB もあります (FBLayout を完全に実装します。これが基本クラスになります)。

  2. 次に、UIViewController サブクラス テンプレートからさらに 3 つの ViewController クラス (FirstViewController、SecondViewController、ThirdViewController) を再度作成します。これら 3 つは、基本クラス FBViewController の XIB を使用します (方法がわからない場合は、ステップ 3 に進んでください :))

  3. 作成した FirstViewController クラスのヘッダー ファイルに移動する@interface FirstViewController: UIViewControllerと、 に置き換えられますが@interface FirstViewController: FBViewController、FBViewController.h をヘッダー ファイルにインポートする前に確認できます。他の 2 つのクラス (SecondViewController、ThirdViewController) についても同じことを繰り返します。これら 3 つは FBViewController から継承されるためです。FBViewControllerviewDidLoad [super viewDidLoad]をロードし、ビューを生成します。行の後に[super viewDidLoad];独自のメソッドを実装できます。

  4. 3 つのクラスでは、initWithNibNameメソッドを変更してタブ バーの名前とタイトルを変更するだけです。

  5. appDelegate でdidFinishLaunchingメソッドに移動し、これら 3 つのビュー コントローラーを に配置しtabBarController、rootViewController として設定しtabBarControllerます。

これで完了です。あなたFBViewControllerが正常に動作している場合。3 つのクラスすべてが同じように動作することがわかります。継承の力に感謝します。

乾杯、少し遊んで、楽しんでください。

于 2013-02-11T10:31:05.047 に答える
2

すべてのエッジ ケースを処理するオープン ソース ソリューションを使用することを強くお勧めします。これは、最も簡単で、最も堅牢で、最も保守しやすいものです (コミュニティが最新の状態に保つため)。私はPPRevealSideViewControllerでも成功しましたが、 ViewDeckが最も人気のあるソリューションのようです. どちらも非常に堅牢な実装を提供しますが、自分で行うには長い時間がかかります (たとえば、オプションで、ナビゲーション バーまたはコンテンツ領域でスワイプを有効にしてメニューを開くことができます)。さらに、これらはスライド ロジックと表示されたメニュー (任意のビュー コントローラーを使用できますが、テーブル ビュー コントローラーである可能性が最も高い) を他のビュー コントローラーから分離します。そうすれば、コードを複製することなく、どのビューコントローラーでもサイドメニューを使用できます-懸念の分離は素晴らしいです:)

于 2013-02-13T15:20:13.293 に答える
1

SideView クラスの SharedInstance を作成できます。私はiADがアプリケーション全体を表示するために同じことをしています。BannerViewController が SharedInstance であるため、すべての View Controller で簡単に使用できる iAdSuite のリンクを参照してください。

http://developer.apple.com/library/ios/#samplecode/iAdSuite/Listings/TabbedBanner_TabbedBanner_BannerViewController_m.html

于 2013-02-14T13:15:23.807 に答える