MainViewControllerからDetailViewControllerへのpushViewControllerの問題があります。 MainViewControllerのナビゲーションバーは白ですが、DetailViewControllerのnavigationBar項目を白またはbackgrondColorに変更すると、MainViewControllerにも変更されます。 ITSはビューのように同じですが、ここでも detailNavigationBarを変更しますが、rootNavigationBarも変更します
私はプログラム的に私が書いているだけで、背景...
メインビューをプッシュしますアプリ(ストーリーボードなし)。
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
/********** Storyboard Config **********/
window = UIWindow(frame: UIScreen.main.bounds)
window?.makeKeyAndVisible()
window?.rootViewController = TabBarController()
return true
}
TabBarControllerはこれです:
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(true)
// Create Tab MainViewController
let mainNavigationController = MainViewController(collectionViewLayout: UICollectionViewFlowLayout())
mainNavigationController.title = "Main"
let mainController = UINavigationController(rootViewController: mainNavigationController)
mainController.title = "Main"
mainController.tabBarItem.image = UIImage(named: "UITabBarBookmarksTemplate")
mainController.tabBarItem.selectedImage = UIImage(named: "UITabBarBookmarksTemplateSelected")
// Create Tab UserViewController
let userNavigationController = UserViewController(collectionViewLayout: UICollectionViewFlowLayout())
userNavigationController.title = ""
let userController = UINavigationController(rootViewController: userNavigationController)
userController.title = "Profile"
userController.tabBarItem.image = UIImage(named: "UITabBarContactsTemplate")
userController.tabBarItem.selectedImage = UIImage(named: "UITabBarContactsTemplateSelected")
viewControllers = [mainController, userController]
}
MainViewControllerのpushViewControllerコードは次のとおりです。
override func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
let layout = UICollectionViewFlowLayout()
let controller = DetailViewController(collectionViewLayout: layout)
controller.data = cloudDatas?[indexPath.item]
navigationController?.pushViewController(controller, animated: true)
}
と私はDetailViewControllerに変更する唯一のものはこれです:
AppDelegateはこれです// Translucent Navigation Bar
self.navigationController?.navigationBar.setBackgroundImage(UIImage(), for: .default)
self.navigationController?.navigationBar.shadowImage = UIImage()
self.navigationController?.navigationBar.isTranslucent = true
self.navigationController?.navigationBar.backgroundColor = UIColor.clear
self.navigationController?.navigationBar.tintColor = UIColor.white
白からclearColorにMAINVIEWコントローラの変更でこのコードnavigationBarで
私はDetailViewControllerに移動し、MAINVIEWコントローラに戻る...
♂️
問題は何ですか?助けてください!
ありがとうございます! DetailViewController
で
おかげで、しかし、ボタンDetailViewControllerは表示されません(navbarが隠されているため)、whメインビューに戻ると、上記の写真のようにnavbarが半透明に見えます... – rjgodoy