ios - Swift-在标签栏 Controller 中自定义多个导航栏

标签 ios swift uinavigationcontroller uitabbarcontroller uinavigationbar

在这里尝试学习 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/

相关文章:

ios - 有人有幸让 FMDB 与 Rubymotion 一起工作吗?

设备上使用 xCode 6.4 和 xCode beta 的 iOS 应用程序

ios - 在 UINavigationController 堆栈 (IOS7) 的 UIWebview 中播放嵌入式视频的问题

ios - 当 UITableViewCell 使用 Swift 展开时如何更改 UIButton 图像?

objective-c - 如何清除NSManagedObjectContext中的选定对象

iphone - 手动构建 View 时如何处理 UIViewController 中的 View 初始化顺序?

ios - Swift edgeLoopF​​orRect 物理主体未正确获取 categoryBitMask

swift - 使用 CryptoSwift 从文件中获取哈希

ios - 过渡时导航 Controller 下有黑色污迹

ios - 将 UINavigationView 的大小限制为其当前呈现的 Controller 的大小?