2012-02-15 5 views
2

他の既存の投稿を検索しましたが、いずれも自分の要件を満たしていませんでした。ここで iPadアプリが横長モードで起動する

  1. 私のアプリはモード、風景や肖像画の両方をサポートし、私が直面している問題です。
  2. しかし、私の最初の画面はランドスケープしかサポートしていないので、アプリはランドスケープで開始する必要があります。私は私が
の下に定義しています。最初の画面のビューコントローラではランドスケープ(左ホームボタン)
  • に初期インターフェイスの向きを設定したすべての4つのオプション
  • に支持向きを設定している
  • - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation

    { 
         return (interfaceOrientation != UIInterfaceOrientationPortrait); 
        } 
    

    そして、私がアプリを起動すると、シミュレータは常にポートレートで開き、私のビューはポートレートモードですべて乱されます。なぜなら、それはランドスケープ専用に設計されているからです。 風景に切り替えると、デバイスはこのモードのままです。

    誰でもこの問題を回避するソリューションを教えてもらえますか?

    おかげ のNaveen

    EDITED:この情報が役に立つかもしれ

    私はポートレートでデバイスを保持して、アプリを起動したときにのみ、問題が直面しています。私は私のアプリは唯一の風景になりたくないONLY iPhoneやiPad

    ため

    そのないこの質問の重複、風景モード

    Landscape Mode ONLY for iPhone or iPad

    、私は私の最初の画面だけをしたいですアプリはランドスケープでのみ表示されます。

  • +0

    Xcodeではなく、ホーム画面*から起動する前に、シミュレータをランドスケープに変更してみてください。実際のデバイスで起動してみてください。これは起動方法のゴールドスタンダードです。 – JoePasq

    +1

    (Appleがそれを期待するのは)役に立たないのは、すべての向きで最初のスクリーンを動作させるということです。 –

    +0

    [iPhoneまたはiPad用のランドスケープモードのみ]の複製が可能です。(http://stackoverflow.com/questions/2647786/landscape-mode-only-for-iphone-or-ipad) –

    答えて

    1

    Iダミービューコントローラを作成し、ウィンドウのルート・ビュー・コントローラとして追加私はこの問題の回避策を達成し、それは解決、

    は予想通り今は働い実装

    -(void)viewDidAppear:(BOOL)animated 
        { 
         WelcomeScreen *welcomeScreen = [[[WelcomeScreen alloc] initWithNibName:@"WelcomeScreen" bundle:nil] autorelease]; 
         [self presentModalViewController:welcomeScreen animated:NO]; 
        } 
    

    に以下のメソッドを追加しました。私はいくつか私はそれに働いているアプリを試してなかった

    0

    ここではSO linkです。あなたのアプリをランドスケープモードで起動する方法についてのご質問にお答えします。

    +0

    このリンクは、風景だけのアプリに役立ちますが、私のアプリは、すべてのモードで動作できます(ただし、ランドスケープでのみ動作する最初の画面は除く)。 (とにかく答えてくれてありがとう)。 – RVN

    +0

    アプリをUIInterfaceOrientationLandscapeLeftと UIInterfaceOrientationLandscapeRightとして設定した場合、ユーザーが最初のランドスケープビューのみを通過した後で、アプリがポートレートモードで動作しない方向をサポートするように後続のView Controllerを設定するとしますか? – bbarnhart

    5

    は同じ要件を持ち、かつ、次のを思い付いた:

    1. アプリがある場合にサポートされている初期の向きを設定するにはターゲットに「サポートされているデバイスオリエンテーション」の設定を使用します。 enter image description here また、すでに行ったように、適切なshouldAutorotateToInterfaceOrientationコードを使用してバックアップしてください。

    2. 次の画面では、shouldAutorotateToInterfaceOrientationコードを使用して、サポートする方向を判断してください。サポートされているデバイスオリエンテーションにランドスケープモードのみを指定した場合でも、shouldAutorotateToInterfaceOrientationが勝ちます。 :)

    このアプローチは余分なダミーVCを使用するより少しきれいだと思います。

    +0

    私はこれを試してみます – RVN

    +0

    これは私のためには機能しません、私のアプリのすべてのビューの向きを無効にします。私のアプリは、1つまたは2つのめったに使われていないビューを除いて、すべての方向で機能します。 –

    +0

    それは、ありがとう! – xger86x

    関連する問題