2017-05-10 27 views
0

私は、新しいView Controllerを作成して別のView Controller内にPopoverとして提示することで、popoverを3回作成しようとしましたが、多くのチュートリアルを見ましたが、このコードは機能していないようです誰でも手伝ってもらえますか? App Delegateファイルにエラーが表示されるようです。popover code in swift 3 not working

here I am creating the segue with identifier "popoverInfo" so if the Hola button is pressed, it should show the popover view controller

override func prepare(for segue: UIStoryboardSegue, sender: Any?) { 
    if segue.identifier == "popoverInfo" { 

     let popoverVC = segue.destination 
     popoverVC.modalPresentationStyle = UIModalPresentationStyle.popover 
     popoverVC.popoverPresentationController!.delegate = self 




    } 




} 

func adaptivePresentationStyleForPresentationController(controller: UIPresentationController) -> UIModalPresentationStyle { 
    return UIModalPresentationStyle.none 
} 
+1

エラーとは何ですか? –

+0

@ MoeAbdul-Hameed:OPは「動作していない」と言っているか、単に「エラー」ですか?私はXcodeがそのような状況でより記述的な出力を持っていることを誓うことができた。たぶん機能リクエストが順調であるかもしれません。 –

答えて

0

あなたはこのようにポップオーバーを実現することができます。しかし、Popoversは、iPhone上での通常のモーダルのように動作します

override func prepare(for segue: UIStoryboardSegue, sender: Any?) { 
    if segue.identifier == "popoverInfo" { 

    segue.destination.modalPresentationStyle = .popover 

    if let popover = segue.destination.popoverPresentationController { 

     popover.delegate = self 

     popover.sourceRect = // CGRect 
     popover.sourceView = // UIView 
     popover.permittedArrowDirections = .any 
     popover.canOverlapSourceViewRect = // Bool 
    } 
} 

。 PopoversはiPadでしか動作しません。 (それをハックするいくつかの方法がありますが、Appleが承認するかどうかわかりません)

このコードは、私が現在取り組んでいるプロジェクトから適合しています。もう一度見てみましょう。