Swift – UINavigationController的层次结构(以编程方式)🎯

大家好,我们今天将讨论UINavigationController 。 🤠

UINavigationController允许您管理堆栈中的大量视图控制器。

我来解释一下

您有一个具有 控制器 ,登录 控制器注册控制器的应用程序该应用程序开始在主控制器上运行, 您有两个按钮可以推动登录/注册控制器。

是的,您可以通过UINavigationController!

如何使用导航控制器(以编程方式,没有情节提要)设置项目

1-您必须删除项目上的.storyboard文件。

2-如下所示,您必须在项目导航器>选择项目>常规>部署信息>主界面上删除情节提要名称。

3- 让我们修改AppDelegate文件

我们在主控制器上有两个按钮, 您可以通过按钮来推送登录/注册控制器。

您可以在GitHub上访问项目文件。 😎

strawb3rryx7 / UINavigationController-示例

UINavigationController-示例–如何在没有情节提要的情况下创建基于UINavigationController的应用程序。

github.com

1-动态更改UINavigationController的rootViewController

这是一个好话题。

让我们解释一下, 为什么我们需要更改Root View Controller?

您的用户已成功登录到您的应用程序,然后在已经登录时终止了该应用程序。在下一次,您不希望他们能够遇到控制器 登录控制器。 因此,您将在启动应用程序时确定AppDelegate,可以确定它们是否已登录并相应地设置rootViewController

但是,是否要注销?

在这种情况下,您必须将其rootViewController设置为主控制器。

我将与您分享我的解决方案。 在此扩展中,您将能够设置新的rootViewController我建议您遵循注释行。 我解释了他们在那里做什么。

另外,UINavigationBar有一些项目,如您在图像上看到的,这些项目在下面列出。

backItem

topItem.title

topItem.leftBarButtonItem

topItem.rightBarButtonItem

backItem

您可以将以前的控制器备份到导航堆栈中。

有一些属性可以管理它们,您可以在 Apple Docs 上找到它们 Apple文档提供的backBarButtonItem

标题

位于导航栏的中间。

感谢您阅读😛,如果对UINavigationController或相关项目有任何疑问。 您可以在Twitter上与我联系。

传播the