美文网首页
Swift 隐藏导航栏和标签栏

Swift 隐藏导航栏和标签栏

作者: jsone | 来源:发表于2024-03-26 00:16 被阅读0次

简介

这里用到的隐藏导航栏和标签栏的功能由 YDRootNavigationController 实现的,可以查看 Swift 全局默认导航栏样式与视图控制器自定义并存 这篇文章关于它的详细介绍。

一、导航栏的显示与隐藏

  • 全局默认设置
  • 视图控制器默认设置

全局默认设置

1.创建一个类用来实现YDAppAppearanceProtocol协议

class MyAppAppearance: YDAppAppearanceProtocol {
    // 如果不实现该计算属性,默认是显示
    var prefersNavigationBarHidden: Bool { true }
}

2.在AppDelegate中调用

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
        // 全局默认样式配置
        MyAppAppearance().configure()
        return true
    }
}

3.导航栏控制器设置为YDRootNavigationController或继承YDRootNavigationController的类

  • 代码
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
    self.window?.rootViewController = YDRootNavigationController()
    return true
}
  • Interface Builder设置
    IB设置YDRootNavigationController.gif

视图控制器默认设置

class ViewController: UIViewController {
    // 默认设置
    override var prefersNavigationBarHidden: Bool { true }
}
隐藏导航栏.gif

二、标签栏的显示与隐藏

  • 全局默认设置
  • 视图控制器默认设置

全局默认设置

同隐藏导航栏设置方法一致,对应属性名称改为isFullScreenPopGestureEnabled即可

视图控制器默认设置

class ViewController: UIViewController {
    // 默认设置
    override var isHidesBottomBarWhenPushed: Bool { true }
}
标签栏隐藏.gif

相关文章

网友评论

      本文标题:Swift 隐藏导航栏和标签栏

      本文链接:https://www.haomeiwen.com/subject/emwjtjtx.html