0

私はactivityfeedVCを持っています。ユーザーがtableViewCellをクリックすると、activityVCが表示されます。このVCには「戻る」ボタンがあります。これをクリックすると、前のView Controllerに戻りたいと思います。私はこれを達成することができますが、私はtabBarControllerを表示することができません。イムは完了ハンドラを使用していますが、何かが間違っています。あなたが手伝ってくれることを願います。ボタンを押したときに新しいViewControllerを表示するときにtabBarControllerを表示する方法

import UIKit 

class activityVC: UIViewController { 

    @IBAction func backBtnWasPressed(_ sender: Any) { 

     // Navigates back 
     let feedVC = storyboard?.instantiateViewController(withIdentifier: "feedVC") 

     func completionHandler() { 
      // show the tabBarController - NOT WORKING 
      feedVC?.tabBarController?.tabBar.isHidden = false 
      print("tabBarController shown") 
     } 

     present(feedVC!, animated: false, completion: completionHandler) 



    } 



    override func viewDidLoad() { 
     super.viewDidLoad() 

     // Do any additional setup after loading the view. 
    } 



} 

私はあなたが推進している

+0

あなたが値を設定するときに、これらのいずれかがnilであれば、デバッグた 'feedVC?.tabBarController?.tabBar.isHidden = false'の – carbonr

+0

はまた、あなたのストーリーボードに'「feedVC」 'tabBarControllerまたはアクティビティ図でありますコントローラ。ストーリーボードで使用できる場合はTabBarControllerにリンクする必要があります。これを行うもう1つの方法は、モーダルで表示されている場合はもう一度ボタンをタップすると、他のView Controllerをロードするのではなく、現在のView Controllerを閉じるだけです。 – carbonr

+0

モーダルで表示されないので動作しません。 tabBarControllerは、クラスCustomTabBarController内でプログラムによって作成されます。 UIViewControllerを表示するのではなく、CustomTabBarControllerを表示する必要がありますか? –

答えて

0

...私はこの機能を必要とする多くのビューを持っていないにもかかわらず、多分それは簡単です...私が代わりに私の顧客のナビゲーションのUINavigationBarを使用する必要がありますねビューコントローラスタックにactivityVC?その場合は、ユーザーが戻るボタンを押すとactivityVCがポップされます。

class activityVC: UIViewController { 

    @IBAction func backBtnWasPressed(_ sender: Any) { 
     self.navigationController?.popViewController(animated: false) 
    } 
} 
関連する問題