2012-01-30 16 views
3

短い紹介iOSでマルチビューアプリケーションを構築する方法はありますか?

私は、iOSプラットフォームを使用したアプリ開発の分野で新しいものです。現在、私はiPhoneとiPad用のマルチビューアプリケーションを開発する必要があります。

私の研究

私は、マルチビューアプリケーションの開発に関するいくつかの研究を行ってきた、と一般的なアプローチは、ルートビューコントローラ(UIタブバーとして提供コントローラのいずれかを使用することであることを発見しましたコントローラなど)。どちらか、または独自のルートビューコントローラを作成する。

私の問題

私は今戦ってる特定の問題は、ほとんどで構成され、より複雑なアプリケーションを構築する方法についてされています

ログインに-Aビュー(これはアプリを開くと、ユーザーに提示非常に最初のビュー) UIタブバーコントローラを使用してナビゲートする必要があるアプリケーションの-The残り)私は今を作ってみた何

はこのアイデアです:

カスタムルートビューコントローラを作成します。このルートビューコントローラは、ログインビューを最初にユーザに提示する(ログインビューをそれ自身のサブビューとして追加する)。ログイン後、サブビューをUIタブバーコントローラに変更する必要があります。

実際の質問

これはそれを行うための許容可能なアプローチであれば私の質問は、その後のですか?基本的に私は、それらのビューを自分自身のサブビューとして追加することによってビュー間を切り替えるルートビューコントローラを持っています。

私は本当にそれを実行する方法について議論している記事を見つけることができませんでした。私の現在のアイデアで懸念しているのは、基本的なルートビューコントローラーにアプリケーションのすべてのビューが基本的に含まれていて、それらの間の切り替えがすぐに乱雑になるということです。

任意の入力がappriciatedされます:)

ありがとうございます。

+1

ポストの素敵なプレゼンテーションです!:) – Sarah

+1

ハハ、あなたがそれを好きでうれしい:)質問の良いプレゼンテーションは、質問を伝えることにすべての違いを作ることができます:) – CodingBeagle

+0

それは本当です.. :) – Sarah

答えて

2

私はずっと前に同様のパターンを探していました。私が見つけたことから、ログイン画面を処理する最善の方法は、メインアプリケーションウィンドウにそれを挿入することだと結論づけました。つまり、あなたのUIApplicationDelegateクラス

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{ 
    self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease]; 
    if ([self loginNeeded]) 
    { 
     [self presentLoginScreen]; 
    }else 
    { 
     [self presentTabBarController]; 
    } 

    [self.window makeKeyAndVisible]; 
    return YES; 
} 

でそれをやっているとIE presentLoginScreenは、次のようになります類推

- (void)presentLoginScreen 
{ 
    SMLoginViewController* loginVC=[[SMLoginViewController alloc] initWithNibName:@"SMLoginViewController" bundle:[NSBundle mainBundle]]; 
    [self.window setRootViewController:loginVC]; 
    [loginVC release]; 
} 

[self presentTabBarController]に私はこれがある[self.window setRootViewController:tabbarController];

を呼び出し、その後UITabbarControllerは、実際のアプリケーションを含む作成し、あなたが階層を必要としないビューを展開しないので便利です。

+0

ああ、これはそれを行うきちんとした方法のように見えます:)私の頭文字間違いなく、ログイン画面がビュー階層を不必要に複雑にしているように見えました。助けてくれてありがとう! :) – CodingBeagle

関連する問題