首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何将ViewController添加到UITabBarController并以编程方式加载它?

要将ViewController添加到UITabBarController并以编程方式加载它,可以按照以下步骤进行操作:

  1. 创建一个UITabBarController的实例,并设置为应用程序的根视图控制器。let tabBarController = UITabBarController() UIApplication.shared.keyWindow?.rootViewController = tabBarController
  2. 创建要添加的ViewController实例。let viewController = YourViewController()
  3. 创建一个UINavigationController的实例,并将要添加的ViewController设置为其根视图控制器。let navigationController = UINavigationController(rootViewController: viewController)
  4. 将UINavigationController实例添加到UITabBarController中。tabBarController.viewControllers = [navigationController]
  5. 可选:为UITabBarController的每个选项卡设置标题和图标。viewController.tabBarItem.title = "Tab Title" viewController.tabBarItem.image = UIImage(named: "tab_icon")

这样,ViewController就会以编程方式加载到UITabBarController中了。

关于UITabBarController的更多信息,可以参考腾讯云的官方文档:

请注意,以上答案仅供参考,具体实现可能会因为使用的编程语言和开发环境而有所不同。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

【IOS开发基础系列】Storyboard专题

由于无法从nib中加载应用程序委托,也无法从故事板文件中加载应用程序委托,我们必须告诉UIApplicationMain 应用程序委托类的名称,否则根本无法找到应用程序委托类。...UITabBarController 是一种ViewController 的容器,包含了多个viewcontroller。...将该文件夹添加到项目中去。在TabBarItem “Guestures”的属性面板,将 Players.png 设为的image。...在顶层ViewController 中不能再引用应用程序委托。这真是个不幸,我们只能通过代码方式获得引用。...3 设计原则 3.1 布局设计原则 3.1.1 一个控件的布局尽量只采用一种方式,要么是Storyboard(XIB)要么是代码         因为视图在刷新时,会直接从Storyboard中加载控件的大小

1K30
  • UITabbarController 偶现启动crash问题分析

    于是重点排查子vc不存在的情况,在查看新用户切换tab的逻辑时,发现了有一个vc复用的逻辑,旧tabbarVC的vc会被复用到新的tabbarVC,结合ViewController只能有一个parentVC...结合这个猜测,当vc被复用到新的tabbarVC时,加了一段代码让新的tabbarVC不添加到window,从而旧的tabbar继续触发viewWillAppear,问题可以复现。...由于我们使用了某个tabbarVC的组件,组件并不支持动态新增底tab,这里采用的是重新创建tabbarVC的方式。...这里写了一个复用的模拟代码: - (void)testAnotherTabbarVC { UITabBarController *anotherTabbarVC = [UITabBarController...属性时,将复用vc从旧的tabbarVC的viewController移除;(这是UIKit的默认做法,但是需要修改tabbarVC的组件) 方案3:不复用vc,只复用数据源;(需要修改复用方案) 代码地址

    82040

    iPad Safari多窗口视图分析和实现思路

    这里我将以 Safari 为参考探讨的实现思路。 Safari 是 iOS 系统自带的浏览器,支持打开多个网页窗口。...我们常用的 UITabBarController、UINavigationController 都是这样的容器控制器(还有一个在 iPad 分屏展示会用到的 UISplitViewController)...,并把视图添加到 scrollView 上,具体frame定位可以根据scrollView 大纲视图的排布来定,然后我们通过设置 scrollView 的 zoomScale和 contentOffset...具体来说,从某个具体页面切换到大纲视图之前,对页面做一个截图,ScrollView 中也不再加载具体的 ViewController 的 view 而是仅放置静态截图。...从 Safari 的表现来看极有可能也是采用截图的方式,我们实测网页中动态播放的视频到了大纲视图并不会继续动态播放,此外 Safari 在进程被杀后重启,大纲视图里仍有之前的截图,可以推测是通过静态截图的并落地的方式实现

    4K30

    iOS项目——基本框架搭建

    今天我们的主要任务就是搭建我们TabBar,如果采用系统自带的UITabBarController(官网文档戳这里),在使用过程有一下几点需要注意: 每一个barItem都必须对应一个ViewController...如果自定义设置了,注意不要遮挡最下面的TabBar条 barItem的顺序与添加到UITabBarController的顺序保持一致 当添加的barItem个数 <= 5个时,均匀分布在最下面的bar条上...添加itemBar对应的ViewController的方法有两种:一是使用UITabBarController的  方法设置;二是用UIViewController的 addChildViewController...程序一起动就调用load方法 Initialize方法:初始化类,当第一次使用这个类或者子类的时候调用 viewdidload方法:当viewcontroller第一次即将显示的时候加载。...viewController都是懒加载,即都是在即将显示出来时才加载viewdidLoad,但是只有 tabbarcontroller是在一创建控制器的时候就进行加载viewdidLoad。

    1.8K80

    玩转iOS转场动画 原

    iOS动画开发之一——UIViewAnimation动画的使用:https://my.oschina.net/u/2340880/blog/484457 iOS动画开发之二——UIView动画执行的另一种方式...2340880/blog/484538 iOS动画开发之三——UIView的转场切换:https://my.oschina.net/u/2340880/blog/484669 iOS动画开发之四——核心动画编程...动画开发之五——炫酷的粒子效果:https://my.oschina.net/u/2340880/blog/485095 iOS开发CoreAnimation解读之一——初识CoreAnimation核心动画编程...在界面跳转时,将要弹出的视图控制器设置如下: ViewController2 * v2 = [ViewController2 new]; self.transDelegate = [[TransDelegate...四、UITabBarController的转场动画     UITabbar也可以进行转场动画的自定义,需要设置UITabBarController的delegate并实现协议中的如下两个函数: //设置非交互的转场动画

    1.3K51

    【IOS开发基础系列】Navigation页面导航专题

    open1390611231914.html 1 原理 1.1 navigationController         对于父级VC与子级VC分别有navigationController的情况,即不是使用push方式加载子...imageNamed: @"FhipIcon"]]; UINavigationController view层级 2 开发技巧 2.1 iOS UINavigationController与UITabBarController...的组合使用 http://sinye.iteye.com/blog/2093281 (Good)【IOS开发】UITabBarController和UINavigationController结合使用。...NSFontAttributeName: [UIFont systemFontOfSize: 19], NSForegroundColorAttributeName: [UIColor redColor]}];         方式二相对于方式一而言更加简单方便...//显示Tabbar if ([viewController isKindOfClass: [RootVC class]]) {         [viewController setHidesBottomBarWhenPushed

    40820

    iOS多控制器之UINavigationController&UITableBarController1. 多控制器2. UINavigationController3. UITableBarCont

    此属性是UINavigationController的,它可以一次添加多个自控制器; 4,最正常的用法: pushViewController,入栈的方式添加自控制器。...通过属性viewControllers进行设置 nav.viewControllers = @[mainController]; // 通过pushViewController入栈的方式添加自控制器...NSArray *childViewControllers; 2.4.2 入栈 使用push方法能将某个控制器压入栈 -(void)pushViewController:(UIViewController *)viewController...Paste_Image.png 7.2.3 往UITabBarController中添加子控制器 有两种方法UITabBarController中添加子控制器 : [tb addChildViewController...:c1]; tb.viewControllers=@[c1,c2,c3,c4]; 注意:展示的顺序和添加的顺序一致,和导航控制器中不同,展现在眼前的是导航控制器的根视图控制器也就是第一个添加到导航控制器上的视图

    1.3K40

    iOS App 启动性能优化

    *tabBarViewController = [[[UITabBarController alloc] init] autorelease]; NSLog(@"%s", __PRETTY_FUNCTION...:didFinishLaunchingWithOptions:] -[MQQTab2ViewController viewDidLoad] (点击了第二个tab之后加载) -[MQQTab3ViewController...也就是说,无论是技术上还是视觉上,都非常的“快”。 【第三部分】WiFi管家启动优化实践 先show一下成果: ? 1....优化rootViewController加载 考虑到我作为一只高级程序猴,工资很高,为了给公司节约成本,在优化之前,当然需要先测试一下哪些ViewController加载耗时比较大,然后再深入到具体业务中看哪些部分存在较大的优化空间...App启动的时候,根据加载原理,会加载TabBarController、第一个Tab(“连接”)的ViewController及其所有childViewController。

    2.2K92

    iOS开发·runtime原理与实践: 消息转发篇(Message Forwarding) (消息机制,方法未实现+API不兼容奔溃,模拟多继承)

    摘要:编程,只了解原理不行,必须实战才能知道应用场景。本系列尝试阐述runtime相关理论的同时介绍一些实战场景,而本文则是本系列的消息转发篇。...选择器:表示消息或方法名称的一种特殊方式,表示为类型SEL。选择器本质上就是不透明的字符串,它们被管理,因此可以使用简单的指针相等来比较它们,从而提高速度。...在runtime的objc/message.h中能找到的API。...简而言之,允许未知的消息被困住并作出反应。换句话说,无论何时发送未知消息,​​都会以一个很好的包发送到您的代码中,此时您可以随心所欲地执行任何操作。...转发和继承相似,可用于为OC编程添加一些多继承的效果,一个对象把消息转发出去,就好像他把另一个对象中放法接过来或者“继承”一样。

    2K11
    领券