1

少なくともiOS6をアプリに入れたいです。Monoが提供するサンプルプロジェクトでタブバーアプリケーションを作成してみました。ShouldAutorotateToInterfaceOrientationメソッドを削除して、次のように置き換えようとしました

public override UIInterfaceOrientationMask GetSupportedInterfaceOrientations ()
{
    return UIInterfaceOrientationMask.Landscape;
}

私は両方のViewControllerに対してそれを行いましたが、向きはまだ縦向きです。また、ShouldAutorotateをオーバーライドしてtrueを返しましたが、役に立ちませんでした。アプリがランドスケープモードでのみ使用できるようにするにはどうすればよいですか?

また、展開ターゲットをiOS6に設定しようとしましたが、ドロップダウンリストで最大5.1までしか切り替えることができません。

助言がありますか?

編集:私のインストールの何かが完全に間違っていました。展開ターゲットとしてios6を選択できなかったため、何も機能しませんでした。新しいクリーンインストールの後、すべてが機能します。

4

3 に答える 3

2

@svnのようにInfo.plist、アプリケーションがサポートする方向を示しています。これは、オーバーライドすることでさらにカスタマイズ(制限など)できますGetSupportedInterfaceOrientations

ただし、(iOS 6の新機能である)PreferredInterfaceOrientationForPresentationもあり、オーバーライドできます(オーバーライドする必要があります)。

iOS6固有の機能を含む詳細については、Appleのドキュメントを参照してください。

また、展開ターゲットをiOS6に設定しようとしましたが、ドロップダウンリストで最大5.1までしか切り替えることができません。

使用しているXcodeに6.0SDKがないようです。アプリケーションを構築するためにMonoDevelopが何を使用しているかを確認する方法についての質問に対する私のコメントを参照してください。

于 2013-01-17T14:47:17.520 に答える
1

iOS5とiOS6のサポートでは、それを行う必要があります。悲しいことに、「GetSupportedInterfaceOrientations」には、少なくとも私のモーダルでは問題があります。

//iOS 6 support
    public override UIInterfaceOrientationMask GetSupportedInterfaceOrientations ()
    {
        return base.GetSupportedInterfaceOrientations ();
    }

    //iOS 5 support
    //if I don't put it it doesn't work for iOS 5 device but works on iOS 6 simulator
    [Obsolete ("Deprecated in iOS6. Replace it with both GetSupportedInterfaceOrientations and PreferredInterfaceOrientationForPresentation")]
    public override bool ShouldAutorotateToInterfaceOrientation (UIInterfaceOrientation toInterfaceOrientation)
    {
        return true;
    }

最初に手当のプロジェクトプロパティを確認してください。

于 2013-03-23T21:20:19.080 に答える
1

また、Info.plistでサポートされているデバイスの向きを設定する必要があります

于 2013-01-17T11:13:42.130 に答える