1

iPadアプリでInstapaperforiPadのようなカスタムサイドバーナビゲーションペインを作成しようとしています。Scott Sherwoodによるもののようないくつかの優れたチュートリアルの助けを借りて、カスタムサイドバーを作成し、ViewControllerを切り替えることができました。

これは、2つのビューがあるルートビューコントローラーを使用して実装しました。1つはタブバービューで、もう1つは選択したタブに関連付けられたコンテンツを表します。

ここに画像の説明を入力してください

タブを選択するたびに、Root View Controllerこのようにサブビューをに追加するだけです...

@implementation RootViewController

//
// some code here
//

#define TABBAR_WIDTH 80.0F
- (void)buttonTapped:(UIButton *)aButton
{
    UIViewController *newVC = [self.storyboard instantiateViewControllerWithIdentifier:@"SomeView"];
    [newVC.view setFrame:CGRectMake(TABBAR_WIDTH, 0, self.view.bounds.size.width - TABBAR_WIDTH, self.view.bounds.size.height)];
    [self addSubView:newVC.view];
}

ここで私がやりたいのはContents、タブの選択に基づくのではなく、コンテンツビューの相互作用に基づいて新しいビューをプッシュすることです。これを行うために私が理解した方法は、スーパービューに別のサブビューを追加することです。ただし、その場合は、プッシュ、ポップ、戻るボタン、ビュー間のアニメーションをすべて自分で実装する必要があります。

UINavigationControllerを使用してこのシナリオを実装できるかどうか疑問に思いました(プッシュ、ポップ、戻るボタンが自動的に魔法のように処理されるように)。

誰かがこのトピックに光を当てることができますか?これがInstapaperiPadアプリでどのように実装されたかについての簡単な概要でさえ役立つかもしれません。

4

1 に答える 1

2

ここでは、コンテナ ビューでのナビゲーションが必要です。

だからあなたはこのことで行くことができます:

  1. content1ビューコントローラーをルートコントローラーとして持つ1つのnavigationController(alloc-init-setフレームナビゲーションバーを非表示にするなど)を用意します。
  2. Content1 ビュー コントローラーでは、ボタン タップ イベントで、ナビゲーション コントローラーを Content2 ビュー コントローラーにプッシュし、ポップ イベントに対して同じことを行います。

割り当て - xib にカスタム タブとコンテナー ビューがあるルート コントローラーでナビゲーション コントローラーを初期化します。

注: 他のビューを追加する前に、コンテナー ビューをクリアしてください。

私はすでにこのシナリオを実行しているので、うまく機能しています。

これがあなたが要求したものであることを願っています...

コーディングをお楽しみください :)

于 2012-07-30T10:03:55.697 に答える