📅  最后修改于: 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开发中非常常用的控制器,可以管理多个视图控制器之间的导航关系,并实现应用程序的页面导航功能。我们可以通过创建导航控制器、添加子控制器、以及自定义导航栏等方式,灵活实现自己的业务需求。