1
私の目標は、ビューコントローラーを含むナビゲーションコントローラーで構成される複数のタブを管理するタブビューコントローラーを表示することです。カスタムタブビューコントローラーを表示しているのに黒い画面が表示される
AppDelegateのタブビューコントローラBaseTabBarController
をウィンドウmyルートビューコントローラとして設定しました。カスタムタブビューコントローラは次のようになります。
class BaseTabBarController: ESTabBarController {
override func viewDidLoad() {
super.viewDidLoad()
view.backgroundColor = .red
let v1 = BaseNavigationController(rootViewController: SubscriptionsController())
let v2 = BaseNavigationController(rootViewController: SubscriptionsController())
v1.tabBarItem = ESTabBarItem(title: "Home", image: #imageLiteral(resourceName: "tab_bar_home"), selectedImage: #imageLiteral(resourceName: "tab_bar_home"))
v2.tabBarItem = ESTabBarItem(title: "Home", image: #imageLiteral(resourceName: "tab_bar_home"), selectedImage: #imageLiteral(resourceName: "tab_bar_home"))
self.viewControllers = [v1, v2]
self.hidesBottomBarWhenPushed = true
}
}
カスタムナビゲーションコントローラクラスは、ナビゲーションコントローラの空のサブクラスです。
問題は、アプリケーションが1秒未満のタブバーを表示し、すぐに黒い画面に変わるという問題です(コンソールメッセージ:「分離されたビューコントローラーのビューコントローラーの表示はお勧めしません」)。私は何を間違えたのですか?
@Cesareいいえ、それはしない... –
感謝を。あなたは100%正しいです。問題は、ナビゲーションコントローラのルートビューコントローラです。 'class SubscriptionsController:UIViewController、UITableViewDelegate、UITableViewDataSource、DZNEmptyDataSetSource、DZNEmptyDataSetDelegate {...}'のようになります。これを標準の 'UIViewController()'と 'SubscriptionsController()'に変更してもうまくいきます。どんな考え? – Cesare
SubscriptionsControllerの実装の詳細をもう少し見せたら、おそらく私は考えを得ることができます –