将新的 ViewController 嵌入到现有的 UITabBarController 中?

Posted

技术标签:

【中文标题】将新的 ViewController 嵌入到现有的 UITabBarController 中?【英文标题】:Embed New ViewController Into Existing UITabBarController? 【发布时间】:2019-03-30 12:33:22 【问题描述】:

我希望创建一个在选择不同选项卡时不会更改的持久 UIView。由于我更喜欢​​使用 IB,所以最简单的方法似乎是在新的 ViewController 中创建一个 UIView 并将其嵌入到 TabBarController 中。我尝试使用“嵌入标签栏控制器”,但是它创建了一个新的标签栏控制器,并且似乎没有提供使用我现有的选项。

有没有办法做到这一点?嵌入现有而不重新开始?

谢谢!

【问题讨论】:

已经回答,请在此处找到您的答案link Xcode Tabbed Application - Adding New Tab view的可能重复 感谢您的链接,但我不想添加另一个选项卡视图 ViewController。相反,我希望将 UIView(或容器或其他东西)留在一个位置。 【参考方案1】:

您可以通过将 UIView 拖放到 TabBarController 的菜单上,将视图添加到情节提要中的 TabBarController。

然后你只需要继承你的 TabBarController 并将这个视图添加到你的 TabBarController 的主视图中。

import UIKit

class CustomTabBarViewController: UITabBarController 

    @IBOutlet var alwaysOnView: UIView!

    override func viewDidLoad() 
        super.viewDidLoad()
        view.addSubview(alwaysOnView)
    

【讨论】:

你是如何让视图拖放的? IB 不会让我把它放在自定义标签栏控制器上。 我已经编辑了我的答案,并在屏幕截图上添加了一些标记,以确保您正确的拖放过程;) 谢谢!我不知道这种技术。很有帮助! 快速跟进:帽子是移动视图的最简单方法吗? 我猜你的意思是“定位视图”,所以我猜最好的解决方案是以编程方式向视图添加左右底部和高度约束。

以上是关于将新的 ViewController 嵌入到现有的 UITabBarController 中?的主要内容,如果未能解决你的问题,请参考以下文章