2017-10-02 3 views
1

私はUIButtonを使ってカスタムのボトムバーを作っています。今、私は遷移中のフェードを再現しようとしています。そのため、下のバーからボタンの1つをクリックすると、別のビューコントローラに送信され、そのビューが表示されます。私はそれを行うことができましたが、ナビゲーションバーはカスタムバーではなく、ビューを切り替えるたびにメインビューがナビゲーションバーの下に表示されます。カスタムボトムバーをSwiftの別のビューに移行しますか?

//MARK: Main view 
func yourFoodGoalAction() -> Bool { 
    print("transition: YourFoodGoal") 

    let nextViewController = YourFoodGoal() 
    let toView = nextViewController.view 

    UIView.transition(from: view!, to: toView!, duration: 0.3, options: [.transitionCrossDissolve]) { (true) in 
     print("disolve") 
     UIView.animate(withDuration: 0.3, animations: { 
      self.navigationItem.title = "Your Goal" 
     }) 
    } 

    return true 
} 

とビュー(逆も同様)に戻ります:

func selectedBarButtonAction() -> Bool { 
     print("transition: YourFoodGoal") 

     let nextViewController = YourFoodVC() 
     let toView = nextViewController.view 

     UIView.transition(from: view!, to: toView!, duration: 0.3, options: [.transitionCrossDissolve]) { (true) in 
      UIView.animate(withDuration: 0.3, animations: { 
       self.navigationItem.title = "Today's Meals" 
      }) 
     } 

     return true 
    } 

私は私の見解は、ナビゲーションバーの下に行くことはありません何をすべきか

私はこのコードを使用しています一度私はそれらの間で変更する?すべてのビューがカスタムになるので、コンテナビューを使用したくありません。すべてがプログラムで作成されています。

+0

どのようにツールバーをアプリケーションに追加しましたか?メインウィンドウにサブビューとして追加できるはずですから。それは最上部にあるはずです – arvidurs

+0

ツールバーは関数を介して呼び出されるNSObjectです。それは一番です。問題はそこに残っているナビゲーションバーですが、私がビューを変更すると、そのビューはその下に表示されます。 –

+0

問題を説明するスクリーンショットを追加できますか? – arvidurs

答えて

0

私の答えが見つかりました。私は間違ったモーダル移行と呼んでいた。モーダルは、メインビューでフルスクリーンになります。新しいビューを表示してそこからモーダルを呼び出すときにナビゲーションを埋め込んだだけです。

func todaysMealsAction() { 
    let yourFoodVC = YourFoodVC() 
    yourFoodVC.modalTransitionStyle = UIModalTransitionStyle.crossDissolve 
    let navBarOnModal: UINavigationController = UINavigationController(rootViewController: yourFoodVC) 
    self.present(navBarOnModal, animated: false, completion: nil) 
} 
関連する問題