2017-11-14 28 views
0

これはiphoneでのみ動作するコードです。 私は両方のデバイスで動作する汎用のアプリケーションを作成しているので、それは同じアプリケーションです。自動回転コードはiPhoneでは動作しますが、iPadでは動作しません

**//Automatically rotates the view to landscape 
    let orientation: UIDeviceOrientation = UIDevice.current.orientation 
    //If landscape right the rotate right 
    if orientation == UIDeviceOrientation.landscapeLeft 
    { 
     UIView.animate(withDuration: 0.5, animations: 
      { 
       () -> Void in 
       let value = UIInterfaceOrientation.landscapeRight.rawValue 
       UIDevice.current.setValue(value, forKey: "orientation") 
     }) 


    } 
    else 
    { 
     UIView.animate(withDuration: 0.5, animations: 
      { 
       () -> Void in 
       let value = UIInterfaceOrientation.landscapeLeft.rawValue 
       UIDevice.current.setValue(value, forKey: "orientation") 
     }) 

    }** 

答えて

0

ここであなたが確認するための一つの可能​​性は...プロジェクトの設定で

だ、ビルドターゲットの[全般]タブの下で、あなたは「デバイス」オプション(それを選択する展開情報セクションがありますあなたはおそらく "ユニバーサル"を持っています)。以下は、デバイスオリエンテーションの選択です。興味深い機能が1つあります。

デバイスがユニバーサルになっているときに向きを確認すると、設定がiPhoneバージョンにのみ適用されます。デバイス選択をiPadに切り替えると、オプションが異なる可能性があります。あなたがする必要があるのは、選択をiPhoneに切り替え、そこに必要な向きを適用し、iPadに切り替え、方向を再度適用してから、最後にデバイスをユニバーサルに設定することです。

ここでサポートされていない方向を適用しようとすると、あなたのコードは何もしません。

関連する問題