根据我的说法,您应该创建 UIViewController 的扩展。它将有一个方法,其中包含修改该视图控制器的导航栏的代码。通过这种方式,您可以修改所需屏幕的导航栏,这将是高度灵活的设计。
例如下面的扩展将导航栏设置为透明,
extension UIViewController {
func setTransparentNavBar(_ target: UIViewController, leftAcion: Selector, rightAction: Selector) {
self.navigationController?.navigationBar.setBackgroundImage(UIImage(), for: .default)
self.navigationController?.navigationBar.shadowImage = UIImage()
self.navigationController?.navigationBar.isTranslucent = true
self.navigationItem.titleView = UIImageView(image: UIImage(named: "icon_2"))
let leftBarButtonItem = UIBarButtonItem(image: UIImage(named: "icon_1"), style: UIBarButtonItem.Style.plain, target: target, action: leftAcion)
//self.navigationItem.setLeftBarButton(leftBarButtonItem, animated: true)
self.navigationItem.leftBarButtonItem = leftBarButtonItem
let rightBarButtonItem = UIBarButtonItem(image: UIImage(named: "icon_3"), style: UIBarButtonItem.Style.plain, target: target, action: rightAction)
//self.navigationItem.setRightBarButton(rightBarButtonItem, animated: true)
self.navigationItem.rightBarButtonItem = rightBarButtonItem
}
}
每当需要此配置时,请调用此方法 viewDidLoad()
希望这可以帮助。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句