gha*_*ais 5 uinavigationbar uikit ios swift ios13
我\xe2\x80\x99是新的,所以我希望\xe2\x80\x99是这里事情的方式!
\n\n就像y\xe2\x80\x99都知道的,iOS 13引入了UI变化。我们有一个正在生产的应用程序,我最近醒来(可能有点太晚了,哈哈),当我在新更新的 iOS 13 设备上编译并启动它时,当我意识到还有一些工作需要完成时,\xe2\x80\x99s做 !我通过不启用它来处理黑暗模式,我处理了我的模态,但有一件事我可以\xe2\x80\x99t似乎像iOS 12一样,它\xe2\x80\x99是我的导航栏UI。
\n\n我们使用自定义的后退按钮图像,经过几个小时的战斗,我终于成功了,但除了第一次之外,每次都可以\xe2\x80\x99。我第一次总是会使用默认图标,然后当我回到同一个控制器时,它\xe2\x80\x99就可以了。我使用的函数是在viewWillAppear中调用的。
\n\n这是我的代码!我知道 \xe2\x80\x99s 可以在包含 \xc2\xbb 时使用 \xc2\xab 的特定 VC 外观,但我可以 \xe2\x80\x99t 似乎能弄清楚,因为它 \xe2\x80\x99s 都在导航控制器和我不知道如何区分它们。
\n\nfileprivate func navigationBarWithBackgroundColor(_ backgroundColor: UIColor, TintColor tintColor: UIColor, displayBackButtonIfNeeded: Bool, BackImage imageName:String, displayShadowBar: Bool = false) {\n\nlet backButtonImage = UIImage(named: imageName)\n\nif #available(iOS 13.0, *) {\n\n let appearance = UINavigationBarAppearance()\n appearance.backgroundColor = backgroundColor\n\n appearance.titleTextAttributes = [.foregroundColor: tintColor]\n appearance.setBackIndicatorImage(backButtonImage, transitionMaskImage: backButtonImage)\n appearance.shadowImage = displayShadowBar ? UIImage(named:"") : UIImage()\n\n let back = UIBarButtonItemAppearance()\n // hide back button text\n back.normal.titleTextAttributes = [.foregroundColor: UIColor.clear]\n appearance.backButtonAppearance = back\n\n navigationController?.navigationBar.tintColor = tintColor\n navigationController?.navigationBar.standardAppearance = appearance\n navigationController?.navigationBar.compactAppearance = appearance\n navigationController?.navigationBar.scrollEdgeAppearance = appearance\n\n} else {\n if displayBackButtonIfNeeded {\n self.navigationController?.navigationBar.backIndicatorImage = backButtonImage\n self.navigationController?.navigationBar.backIndicatorTransitionMaskImage = backButtonImage\n self.navigationItem.backBarButtonItem = UIBarButtonItem(title: "", style: UIBarButtonItem.Style.plain, target: nil, action: nil)\n\n } else {\n self.navigationItem.setHidesBackButton(true, animated: false)\n }\n\n self.navigationController?.navigationBar.barTintColor = backgroundColor\n self.navigationController?.navigationBar.tintColor = tintColor\n self.navigationController?.navigationBar.setBackgroundImage(UIImage(named:""), for: UIBarMetrics.default)\n self.navigationController?.navigationBar.shadowImage = displayShadowBar ? UIImage(named:"") : UIImage()\n}\nRun Code Online (Sandbox Code Playgroud)\n\n我\xe2\x80\x99m 基本上在这里变得疯狂,我假设我\xe2\x80\x99m 错过了一些非常明显的东西,所以如果你们有除了苹果文档之外的任何提示或线索,请随时分享:) 提前致谢!
\n