7

数分前にXCode4.5とiOS6シミュレーターをセットアップしました。私のアプリは、iPhoneの4方向すべて、縦向きの下部と上部のホームボタン、横向きの左右をサポートしています。

そうですね、iOS6で必要なため、これを.plistに入れました。また、古いshouldRotateTo ...メソッドはまだ存在し、YESを返します。

しかし、シミュレーターでは、アプリは縦向きの上部のホームボタンに回転していません。

なんで?これは目的によるものですか?デバイス上で正しく機能しますか?

ありがとう。

4

4 に答える 4

18

OK、私は今自分で答えを見つけました。

持っているだけでは十分ではありません

- (BOOL)shouldAutorotate {

    return YES;
}

- (NSUInteger)supportedInterfaceOrientations {

    return UIInterfaceOrientationMaskAll;
}

にプッシュされた場合は、ViewControllerでUINavigationViewController。またUINavigationViewController、それらのメソッドが必要です。できれば、に小さなカテゴリを設定してこれを行いますUINavigationViewController

これは私のUINavigationController-Rotation.hです:

@interface UINavigationController (Rotation)
@end

と私のUINavigationController-Rotation.m:

#import "UINavigationController-Rotation.h"

@implementation UINavigationController (Rotation)

#pragma From UINavigationController

- (BOOL)shouldAutorotate {

    BOOL result = self.topViewController.shouldAutorotate;

    return result;
}

- (NSUInteger)supportedInterfaceOrientations {

    NSUInteger result = self.topViewController.supportedInterfaceOrientations;

    return result;
}

#pragma -

@end

私を助けてくれてありがとう!

于 2012-09-20T18:22:48.833 に答える
2

iPhoneでのiOS6のデフォルトの動作は、逆さまではありません。

UIViewControllerクラスリファレンスから:ビューコントローラでサポートされているインターフェイスの向きのデフォルト値は、iPadイディオムの場合はUIInterfaceOrientationMaskAllに、iPhoneイディオムの場合はUIInterfaceOrientationMaskAllButUpsideDownに設定されています。

この動作は、Safariまたはマップでも確認できます。

ディーンが言ったように、私はこれをUIInterfaceOrientationMaskAllでオーバーライドしようとしましたが、効果はありませんでした。逆さまモードは、ユーザーを混乱させないために従うのが好きなユーザーインターフェイスガイドラインのようなものなので、もう使用しないことにしました。

于 2012-09-20T13:20:43.563 に答える
1

私はあなたのviewControllersがほとんど逆さまであるデフォルトを返すつもりだと思います。以下を実装する必要があります。

-(NSUInteger)supportedInterfaceOrientations
{
    return UIInterfaceOrientationMaskAll;
}

すべてのviewControllerについて、すべての方向をサポートする必要があります。

于 2012-09-20T03:04:42.300 に答える
0

クリストーの答えに従った後もまだ問題を抱えている人がいる場合:

プロジェクトのplistにiPadとiPhone用の別々のエントリがあることに気づきました(サポートされているインターフェイスの向き(iPad)とサポートされているインターフェイスの向き(iPhone))。

お役に立てば幸いです。

于 2012-11-06T21:59:36.393 に答える