在这里尝试学习 Swift 的计算机科学专业的学生。抱歉提前提供图片链接。显然我还不允许嵌入图像。我正在玩一个使用导航 Controller 和标签栏 Controller 的应用程序。初始 View ,我称之为 root,嵌入到导航 Controller 中,如 this。 .这是因为我希望能够在某个时候回到我的 Root View 。
Root 转到一个选项卡栏 Controller ,它有两个选项卡,我称之为 1A 和 2A。 1A 和 2A 都连接到另一个 VC,我称之为 1B 和 2B。我已经将 1A 和 2A 嵌入到他们自己的导航 Controller 中,例如 this这样我就可以在 A 和 B 之间导航。如果我保持原样,1 和 2 的导航栏将与根导航栏重叠,如 this .所以我想将导航栏 1 和 2 的高度更改为刚好在根导航栏下方,如 this .
我尝试在 1A 和 2A 的 viewDidLoad 方法中使用以下代码来完成此操作,但没有执行任何操作。
override func viewDidLoad() {
super.viewDidLoad()
let bounds = self.navigationController!.navigationBar.bounds
self.navigationController?.navigationBar.frame = CGRect(x: 0, y: 0, width: bounds.width, height: 100)
}
我已经阅读了苹果关于导航 Controller 和栏等的文档。我已经访问了这里的各种线程,但我还没有找到针对我的问题的解决方案。也许我遗漏了一些非常基本的东西,以至于毫无疑问。无论如何,一个例子和解释将不胜感激。谢谢
最佳答案
我在这里找到了正确答案:How to move back to the root view controller in storyboard? 我应该一直使用 unwind segue 在多个 View 中导航回来
关于ios - Swift-在标签栏 Controller 中自定义多个导航栏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51794503/