2016-04-04 4 views
3

私はUIViewControllerをモーダルにプレゼンテーションスタイルとしてフォームシートとして提示しています。フォームシートとして表示されているときは方向を固定していません。 iPhone 6 +のランドスケープに表示された場合、または回転中のiPadの場合は、フォームシートのモーダルプレゼンテーションスタイルが異なって見えます。モーダルフォームシートとして提示されたUIViewControllerで回転をロックする方法はありますか?

私はこれと同じコードが(6+除く)iPhone上での向きをロックで正しく動作しますが、スタイルは、フォームシートであるときは動作しません。ストーリーボードセグエ

を経由してVCを提示しています。 iPadまたはiPhone 6+でモーダルフォームシートを縦に固定するにはどうすればよいですか?このコードは、私の作品

override func supportedInterfaceOrientations() -> UIInterfaceOrientationMask { 
    return .Portrait 
} 

override func shouldAutorotate() -> Bool { 
    return false 
} 

override func preferredInterfaceOrientationForPresentation() -> UIInterfaceOrientation { 
    return .Portrait 
} 

答えて

0

は、それはあまりにもuのために答えるため

override func viewDidLoad() { 
    super.viewDidLoad() 
    // Do any additional setup after loading the view, typically from a nib. 

    let val = UIInterfaceOrientation.Portrait; 
    UIDevice .currentDevice() .setValue(val, forKey: "orientation"); 


} 

override func shouldAutorotateToInterfaceOrientation(toInterfaceOrientation: UIInterfaceOrientation) -> Bool { 
    return (toInterfaceOrientation == UIInterfaceOrientation.Portrait) 
} 

override func shouldAutorotate() -> Bool { 
    return false 
} 
+0

おかげで動作します願っています。 'UIDevice'は' orientation'の 'get'メソッドしか提供していないので、このテクニックは文書化されていないか正式にサポートされていません。そのようなコードを紹介するつもりはありません。 –

+0

申し訳ありませんが、いいえ。あなたは私のコメントを読んだのですか?私はこれを有効な答えとはみなしません。 –

+0

@AndyObusek - あなたはこれまでにこの問題の解決策を見つけましたか? – anayini

関連する問題