2016-04-03 15 views
0

私は言語を選択するとき、iOS Setting AppのようなUIPopoverPresentationControllerにviewControllerを表示したいと思います。それは、デバイスの画面の中央にviewControllerを表示します! enter image description hereiPad上のUIPopoverPresentationController

しかし、私の結果はそうではありません!

enter image description here

これは私のコードです:

func rightButtonPressed(rightBarButton: UIBarButtonItem) { 
    let detailVC = self.storyboard?.instantiateViewControllerWithIdentifier("ExampleViewController") as! ExampleViewController 
    detailVC.modalPresentationStyle = .Popover 
    let popOverVC = detailVC.popoverPresentationController 
    popOverVC?.permittedArrowDirections = .Any 
    popOverVC?.barButtonItem = rightBarButton 
    popOverVC?.sourceView = self.view 
    popOverVC?.delegate = self 

    self.presentViewController(detailVC, animated: true, completion: nil) 
} 

そしてデリゲート:

extension DetailViewController: UIPopoverPresentationControllerDelegate { 
    func adaptivePresentationStyleForPresentationController(controller: UIPresentationController) -> UIModalPresentationStyle { 
     debugPrint(controller.description) 
     return .Popover 
    } 

    func presentationController(controller: UIPresentationController, viewControllerForAdaptivePresentationStyle style: UIModalPresentationStyle) -> UIViewController? { 
     let navController = UINavigationController.init(rootViewController: controller.presentedViewController) 
     return navController 
    } 
} 
+0

を表示するコードをどのように現在prそれは –

+0

@JoeBenton私のコードを追加しました:)) –

答えて

2

シートに表示スタイルを設定してみてください:

detailVC.modalPresentationStyle = UIModalPresentation.FormSheet 
+0

大変ありがとうございます! –

関連する問題