📜  导航控制器? (1)

📅  最后修改于: 2023-12-03 14:53:42.279000             🧑  作者: Mango

导航控制器

导航控制器是iOS开发中非常常用的控制器,它的作用是管理多个视图控制器之间的导航关系,通常用于实现应用程序的页面导航功能。在一个导航控制器中,我们可以将多个视图控制器作为子控制器添加到导航控制器中,并通过导航栏进行导航控制器子控制器的切换。

导航控制器的使用
创建一个导航控制器

创建一个导航控制器非常简单,只需要使用UINavigationController的构造方法即可:

let viewController = UIViewController()
let navigationController = UINavigationController(rootViewController: viewController)

其中rootViewController即为导航控制器的根视图控制器,可以通过该属性进行设置和获取。

将子控制器添加到导航控制器

我们可以通过pushViewController(_:animated:)方法将视图控制器添加到导航控制器的堆栈中,并且将其推入屏幕上的堆栈中。推入堆栈时,如果导航栏可见,则会自动为新的视图控制器创建一个后退按钮,用于返回上一个视图控制器。

let nextViewController = UIViewController()
navigationController.pushViewController(nextViewController, animated: true)

我们也可以通过setViewControllers(_:animated:)方法设置导航控制器的子控制器数组,以在不同时刻显示多个子视图控制器:

let viewControllers = [viewController, nextViewController]
navigationController.setViewControllers(viewControllers, animated: true)
配置导航栏

导航控制器默认自带一个导航栏,我们可以对其进行自定义配置,比如设置背景色、标题、返回按钮等。以下是一些常用的属性:

  • navigationBar.isHidden: 是否隐藏导航栏
  • navigationBar.barTintColor: 导航栏的背景色
  • navigationBar.tintColor: 导航栏上按钮的颜色
  • navigationBar.titleTextAttributes: 导航栏标题的文本属性
  • navigationBar.backIndicatorImage: 后退按钮的图片
总结

导航控制器是iOS开发中非常常用的控制器,可以管理多个视图控制器之间的导航关系,并实现应用程序的页面导航功能。我们可以通过创建导航控制器、添加子控制器、以及自定义导航栏等方式,灵活实现自己的业务需求。