私は、全体のタブバーコントローラVCからビューコントローラ(毎回同じインスタンス、他のタブアイテムVCと同じように)を表示しようとすることがわからないという問題があります。私のタブバーコントローラVCには、ストーリーボードを介して接続されている3つのビューコントローラがあるので、3つのタブバー項目がタブバーに表示されます。 selectedIndex
が変更されると、これらのビューコントローラはTab Bar Controller VCのサブビューのすぐ下に表示されます。常に一番上にある必要がありSwift:現在のビューコントローラは他のビューコントローラと同じコンテキストですか?
これらのサブビューは、下部にトップとタブバーのナビゲーションバーです:
そして、これは、これらの3つのビューコントローラに最適です。問題は、ここではナビゲーションバーのボタンを介してタブバーボタンに表示されていない別のビューコントローラーの1インスタンスにアクセスする必要があることです。
私の問題はどのように私がそれを提示しても、このVCは常にタブバーとナビゲーションバーをカバーするタブバーコントローラVCを超えてポップします。
ここで私が唯一の1インスタンスが作られていることを確認します
if podcastVC == nil {
//print("IT IS NIL")
let storyboard = UIStoryboard(name: "Main", bundle: nil)
podcastVC = storyboard.instantiateViewController(withIdentifier: "podcast") as! PodcastViewController
//*NOTE: have to set other vars too, this is temp
podcastVC.urlStr = currentTrackUrl!
podcastVC.originalUrl = currentTrackUrl!
AudioPlayerManager.shared.play(urlString: podcastVC.urlStr)
}
self.show(podcastVC, sender: self)
podcastVC.modalPresentationStyle = .currentContext
podcastVC.definesPresentationContext = false
[1]: https://i.stack.imgur.com/1d6MZ.png
Swift: How to return to the same instance of my UIViewController
によって示されるようにどのように私はタブバーの項目と同じコンテキスト内のVCが存在することを作ることができますか?私は非常に高い(10のような)zの位置にナビゲーションバーのレイヤーを設定しようとしましたが、何も動作しません。なにが問題ですか?
は 'ViewController'はワットをカバーして発表モーダル現在のスタイルを変更することができますタブバーを維持し、 をNAVますnavigationController
で自動的に戻るボタン穴のスクリーン。 – Mannopson
okです。では、画面を覆わない同じコンテキストでどのように表示することができますか? – skyguy
'present'の代わりに' show'を使用しようとしていますか?それはちょうど作品です – Mannopson