2017-01-25 7 views
0

GETクエリを実行してモーダルビューを終了すると、シンプルなアプリケーションが表示されます。表示コントローラには、検索コントローラ/検索バーを備えたマップビューが含まれています。モーダルがトリガーされると、(ぼかし効果を持つ)overCurrentContextが期待通りに表示されますが、ナビゲーションバー(キャンセルボタン付き)は検索バーの下にスライドします。ナビゲーションバーが正しく作成されていることがわかります(タイトルとキャンセルボタン付き)が、検索バーの下に移動します。間違って何かしたことがありますか?バックこの上のループ...スウィフト新人のミスをViewControllerをモーダルビューのナビゲーションバーが正しく表示されない

func showPopOver()  { 
    let fares = Fares(userLocation: userLocation, destination: userDestination) 
    fares.getFares { _ in 
     self.RideCosts = self.storyboard!.instantiateViewController(withIdentifier: "RideCosts") as! RideCosts 
     self.RideCosts.modalPresentationStyle = .overCurrentContext 
     self.RideCosts.loadFares(fares: fares.fareArray) 
     self.present(self.RideCosts, animated: true, completion: nil) 
    } 
} 

modalViewController(RideCosts)

class RideCosts: UIViewController, UITableViewDelegate, UITableViewDataSource { 

    @IBOutlet weak var tableView: UITableView! 
    @IBAction func cancel(_ sender: UIBarButtonItem) { 
     dismiss(animated: true, completion: nil) 
    } 

    var fareArray: [(name: String, value: String)] = [] 
    var arrayOfCellData = [cellData]() 

    override func viewDidLoad() { 
     super.viewDidLoad() 
     let blurEffect = UIBlurEffect(style: .extraLight) 
     let blurEffectView = UIVisualEffectView(effect: blurEffect) 
     blurEffectView.frame = self.view.frame 
     self.view.insertSubview(blurEffectView, at: 0) 

     self.view.backgroundColor = UIColor.clear 
     self.modalTransitionStyle = .crossDissolve 
     self.isModalInPopover = true 

     tableView.delegate = self 
     tableView.dataSource = self 
    } 

答えて

0

を提示

は、私は、モーダルプレゼンテーション(モーダルビューのナビゲーションバーが下に提示して問題を解決しました検索バー)を、overCurrentContextではなくoverFullScreenに設定してください。

作業コード

func showPopOver() { 
let fares = Fares(userLocation: userLocation, destination: userDestination) 
fares.getFares { _ in 
    self.RideCosts = self.storyboard!.instantiateViewController(withIdentifier: "RideCosts") as! RideCosts 
    self.RideCosts.modalPresentationStyle = .overCurrentContext //FIX 
    self.RideCosts.loadFares(fares: fares.fareArray) 
    self.present(self.RideCosts, animated: true, completion: nil) 
} 

関連する問題