5つのタブを持つUITabBarControllerがあります。 Tab Barのすぐ上にあるすべてのタブにViewControllerを表示できるようにしたい。現在私が抱えている問題は、ViewControllerをモーダルに提示すると、可視ではないということです。私はのtableView内の行を選択するたびに呼ばれるこの機能を有する:TabBarControllerのすべてのVCにmodalViewControllerを表示する方法
showPlayerView
が呼び出されるのtableViewは、このように定義される:
class SearchResultsTableView: UIView, UITableViewDataSource, UITableViewDelegate
クラスsearchResultsTableView
このように定義された別のクラスの内部図です。ここで
TestViewController: UIViewController, UserSearchDelegate, UISearchBarDelegate, UITableViewDelegate, UITableViewDataSource, UINavigationBarDelegate, UINavigationControllerDelegate
は、実際の関数である:
func showPlayerView() {
let playerView = PlayerView()
playerView.modalPresentationStyle = .overCurrentContext
CustomTabBarController.sharedInstance?.present(playerView, animated: true, completion: {
})
}
は、と私はこのようなCustomTabBarController sharedInstanceを設定します。
static var sharedInstance : CustomTabBarController?
とviewDidLoad()
の内側に私はこれを持っている:私は私のモーダルのViewControllerを見ることができない、と私はそれをどのように取得することができますなぜ
CustomTabBarController.sharedInstance = self
すべての画面に表示されますか?
showPlayerViewメソッドをどこで実行しているのかをさらに詳しく説明できますか? – MQLN
ちょうど質問を編集し、それが実行されているクラスを追加しました –
おそらくナビゲーションコントローラを使用しますか? – koropok