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

在Swift 5中以编程方式在UITabBarController中显示视图控制器

在Swift 5中,可以通过编程方式在UITabBarController中显示视图控制器。UITabBarController是一个用于管理多个视图控制器的容器控制器,可以在底部显示一个选项卡栏,用户可以通过点击选项卡切换不同的视图控制器。

要在UITabBarController中显示视图控制器,可以按照以下步骤进行操作:

  1. 创建一个UITabBarController的实例:
代码语言:txt
复制
let tabBarController = UITabBarController()
  1. 创建要显示的视图控制器实例:
代码语言:txt
复制
let viewController1 = UIViewController()
let viewController2 = UIViewController()
  1. 将视图控制器添加到UITabBarController的viewControllers数组中:
代码语言:txt
复制
tabBarController.viewControllers = [viewController1, viewController2]
  1. 可选:为每个视图控制器设置标题和图标:
代码语言:txt
复制
viewController1.title = "ViewController 1"
viewController1.tabBarItem.image = UIImage(named: "image1")

viewController2.title = "ViewController 2"
viewController2.tabBarItem.image = UIImage(named: "image2")
  1. 将UITabBarController设置为应用程序的根视图控制器:
代码语言:txt
复制
window?.rootViewController = tabBarController

通过以上步骤,就可以在UITabBarController中显示视图控制器了。用户可以通过点击选项卡切换不同的视图控制器,从而实现多个界面的管理和切换。

推荐的腾讯云相关产品:腾讯云移动应用分析(MTA),该产品可以帮助开发者实时监控和分析移动应用的用户行为和性能数据,提供数据分析、用户行为分析、漏斗分析等功能,帮助开发者优化移动应用的用户体验和性能。产品介绍链接地址:https://cloud.tencent.com/product/mta

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

相关·内容

JavaScript 编程方式设置文件输入

console.log(event.target.value); // => C:\\fakepath\\file.txt});常见的误解和尝试用户系统中文件路径 C:\fakepath\file.txt 浏览器是被隐藏的...幕后,浏览器在用户磁盘上保留了文件的内部引用,但这并不对 DOM 可见,也不应更改。但你可以通过输入元素上编程设置文件属性来修改文件。...可以 w3c 规范查看。我的方法寻找答案时,我 Stackoverflow 上得到了一堆不赞同的回答和否定。有一个答案告诉 PHP 用户,如果有解决方法,它最终会被 Chrome 构建者禁用。...类似于 `drop` 事件的 `event.dataTransfer`const dataTransfer = new DataTransfer();// 将文件添加到对象的文件列表dataTransfer.items.add...fileList;根据你的使用情况,你可以触发一个 change 和/或 input 事件模拟实际用户交互:fileInput.dispatchEvent(new Event('change', {

14200

Swift开发:自定义标签栏UITabBarController (Swift项目开始的第一步)

Swift的学习过程,个人感觉虽说两种语言的相似度很大,但是Swift依然代码风格上有着和OC很大的差异。...总结了一些基本的用法之后,我尝试使用Swift自定义UITabBarController和UITabbar,开启这Siwft项目的关键一步,首先展示一下效果图: ?...的Main,因为我们要使用纯代码的方式来创建标签栏控制器,系统自带Main.StoryBoard的xib形式的界面我们并不需要。...屏幕快照 2017-07-15 下午1.52.29.png 2.创建标签配置Plist文件,并且Plist文件设置视图控制器的类名、Title、标签栏图片等信息 ?...项目前期我们自定义的方式来创建标签栏,这也是为了后期应对更加复杂的需求做伏笔,比如增加新的控制器我们只需要修改plist配置文件的属性创建相应的视图控制器就可以,这样就避免了修改大量代码。

3.9K70

Cocoa编程视图控制器视图类详解

UITabBarController类       选项卡类允许用户多个视图控制器之间移动并在屏幕的底部可定制该栏。...选项卡类的方便之处就是不需要象导航栏那样栈的方式推入和弹出视图的操作,而是组建一系列的控制器(它们各自可以是UIViewController、UINavigationController、UITableViewController...一、创建UITabBarController 常见的应用程序委托类的applicationDidFinishLaunching:方法创建,这通常可为应用窗口提供根视图。...iOS编程占据非常重要的位置,因此我们一定要掌握。...控制器加载视图过程 当调用视图控制器的view属性时,视图控制器会先调用loadView方法加载视图,因此,可以loadView方法创建所有的视图,这是比较好的编程惯例。

5K50

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

此属性是UINavigationController的,它可以一次添加多个自控制器; 4,最正常的用法: pushViewController,入栈的方式添加自控制器。...栈的形式保存子控制器 @property(nonatomic,copy) NSArray *viewControllers; @property(nonatomic,readonly) NSArray...UITabBarButtonUITabBar得位置是均分的,UITabBar的高度为49。 UITabBar的结构⼤大致如下图所示: ?...Paste_Image.png 7.2.3 往UITabBarController添加子控制器 有两种方法UITabBarController添加子控制器 : [tb addChildViewController...:c1]; tb.viewControllers=@[c1,c2,c3,c4]; 注意:展示的顺序和添加的顺序一致,和导航控制器不同,展现在眼前的是导航控制器的根视图控制器也就是第一个添加到导航控制器上的视图

1.2K40

Ios常用第三方框架(二)

HorizontalScrollCell - HorizontalScrollCell是一款使用方便的水平方向可滚动的单元格,适用于UICollectionView实现水片方向滚动视图。 。...WXTabBarController - 系统 UITabBarController 的基础上完美实现了安卓版微信 TabBar 的滑动切换功能,单手操作 iPhone 6 Plus 切换 TabBar...会自动将collection view处理完善,并将用户消息合适美观的方式显示出来。每个iOS项目都可以自动处理。...MGSwipeTableCell - 另一个常见于很多应用的UI组件,苹果应该考虑标准的iOS SDK中加入一些类似的内容。Swipeable表格cell是这个pod的最佳描述,也是最好的。...ZWSlideViewController - ZWSlideViewController多页滑动视图控制器(类似新闻类门户APP),可以用最简单的继承方法使用,也可以不用继承,只用菜单或主视图页面,可实现丰富的定制

7.6K60

VCTransitionsLibrary –自定义iOS交互式转场动画的库

交互控制器 – 这个类是用来管理交互的-那些通常由某个手势空控制的交互,允许用户通过滑动,轻扫或执行其他操作来实现两个视图控制器的导航.必须指出的是,交互控制器允许导航取消,例如,一个用户可以正在导航至某一页面时...使用动画控制器 AnimationControllers 文件夹中提供了许多可以整合进你的工程的动画控制器: 自定义模态控制器显示/隐藏的动画 UIViewControllerTransitioningDelegate...协议被用来模态控制器显示/隐藏时提供一个动画控制器.当一个视图控制器被模态显示或隐藏时,它的transitioningDelegate属性用来提供UIViewControllerTransitioningDelegate...为了给动画一个合适的方向,你可以比较两个视图控制器的索引: - (id )tabBarController:(UITabBarController...交互控制器负责给视图添加手势,并负责在用户使用某个手势时进行相应地导航操作.

1.5K60

iOS页面切换的几种方式

从一个视图控制器切换到另一个视图控制器的几种方式 模态(modal)画面显示方式 //显示模态画面 [self presentModalViewController: ... animated:...:BViewController,CViewController 点击按钮之后B与C视图之间切换–多用于一个页面中有时要显示或隐藏某个View [self.view insertSubview...: 加载的新页面 atIndex: n ]; 3.UITabBarController实现并列画面跳转 //将5个ViewController实例放入TabBar的viewControllers...; self.window.rootViewController = self.tabBarController; //将根控制器视图加到应用程序的主窗口 [self.window...addSubview: self.tabBarController.view]; 4.UINavigationController实现多层画面跳转,导航控制器,载入有层级关系的界面 [self.navigationController

2.4K10

iOS导航栏切换界面时隐藏和显示

本文只讲最简单的实现方式单纯的UINavigationController下是表现ok的,但是如果同时还涉及到UITabbarController,就会有一些瑕疵,下面是要实现的效果,可以观察一下瑕疵在哪...: 实现: 要实现这个简单的有无导航栏过渡其实很简单,直接在 viewWillAppear 和 viewWillDisappear 方法对导航栏进行显示和隐藏就可以了,为了到达比较平滑的效果,建议对是否动画的参数选择...这个方法是直接隐藏了整个导航栏,所以如果要保存导航栏的一些返回按钮以及其他自定义的按钮,就需要自己界面上去模拟添加,如果不想这么麻烦,也可以不隐藏导航栏,而是将导航栏的背景视图设为透明的: [...结 上面的方法可以只有导航栏控制器时比较好的操作,虽然不能做到像QQ那么好,但也能用,但如果有Tabbar存在,就会有问题。那如何做到QQ那样的效果呢?...这里有一篇文章实现了:传送门:导航栏的平滑显示和隐藏 - 个人页的自我修养(1) ,不过作者使用swift实现的,用到了extension,其实也就是OC下的category,之后我再研究一下OC下的实现好了

3.8K30

用这些 iOS 技巧让你的 APP 性能更佳

当应用程序加载视图控制器和布局时,将向用户显示此页面。...译者注:文段没有 Xcode,下文中提及为 Xcode 新建项目 为了让你的应用感觉更快,你可以将启动页设计为与将向用户显示的第一个页面(视图控制器)类似。...// ViewController.swift self.restorationIdentifier = "MainVC" 状态保留期间,所有被分配了恢复标识符的视图控制器视图都会将其状态保存到磁盘...可以将恢复标识符组合在一起形成恢复路径。标识符是通过视图层次结构来分组的,从根视图控制器到当前活动视图控制器。...假设 MyViewController 嵌入 navigation 控制器,navigation 控制器嵌入另一个 tabbar 控制器

3.2K30

Swift 项目 - Xib | StoryBoard 多人协作技巧

StoryBoard 和 Xib 都是用来分离UI样式代码,改善视图代码重用率,增加所见即所得,降低视图测试繁复度的视图系列化工具, 其中Xib视图View为主, StoryBoard 控制器Controller...Storyboard不利图片 一个Storyboard,大量的Controller控制器和Segue连线彰显着错综复杂的UI关系,使人望而生畏或者难以维护。...VC处置 视图的初始样式应尽量Storyboard上属性面板设置,非极特殊情况,布局也应在Storyboard上使用各种约束配合完成。...一个占位的容器视图指向子控制器的Embed Segue 按住Control键连线到想要包含的子控制器,占位视图的实例==子控制器的view(子控制器视图) 选择Embed连线方式后,子控制器 的尺寸变化成跟占位视图一样的尺寸...这时可以全局搜素一下 搜出来的结果可以看到,是Main.storyboard上绑定了HomeController,Test.swift文件定义了该类,但是因为改名所以无法找到。

2K20

Swift-MVVM 简单演练(一)

,底部TabBar隐藏/显示问题 Push 出控制器后,底部 TabBar 隐藏/显示问题 导航控制器的基类里面重写一下push方法 判断如果不是根控制器,那么push的时候就隐藏BottomBar...reloadData() } } ---- 未登录视图显示(访客视图) 现实中经常会遇到一些临时增加的需求,比如登录后显示的是一种视图,未登录又显示另外一种视图,如果你的公司是面向公司内部的APP...到目前为止,虽然我们只是基类控制器里面创建了访客视图setupVistorView,只有一个访客视图的HQVistorView,但是实际上当我们点击不同的子控制器的时候,每个子控制器都会创建一个访客视图...总结 使用代理传递消息是为了控制器视图之间解耦,让视图能够被多个控制器复用,如TableView 但是,如果视图仅仅是为了封装代码,而从控制器剥离出来的,并且能够确认该视图不会被其它控制器引用,...则可以直接通过addTarget的方式为该视图中的按钮添加监听方法 这样做的代价是耦合度高,控制器视图绑定在一起,但是省略部分冗余代码 ---- 调整未登录时导航按钮 如果单纯的setupVistorView

10.2K51

iOS14开发-UIViewController

介绍 UIViewController 可以理解为 App 的界面,负责管理 UIView 显示的内容和用户的交互,主要有以下作用: 负责创建和管理 UIView。 响应用户与视图的交互。...顺向传值只需要在目标控制器声明需要接收的参数,然后控制器中进行传值即可。 storyboard 方式。 代码方式。...逆向传值 逆向传值即按照 UIViewController 跳转的顺序反向进行传值,比如控制器A跳转到控制器B,控制器B返回控制器A时进行传值,这种方式就是逆向传值。...需要传值的地方调用闭包完成传值。 接收值的 UIViewController 实现需要传值的 UIViewController 的闭包属性,闭包的实现拿到传过来的值进行使用。...渲染颜色 图片一般由设计师统一设计,需要设置标题文字颜色适应图片。 方式一:每个 UIViewController 单独设置。

2.3K20

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

含有导航条的ViewController,VC的navigationItem与VC.navigationController的 navigationItem并不是同一个对象,如下图所示。...,而不是NavigationViewController实现。...),步骤如下:     1.视图控制器的头文件实现UINavigationControllerDelegate,例如: @interface PicturePreviewViewController...,一般人也会采用这样的方式)         就是导航向上添加一个titleView,可以使用一个label,再设置label的背景颜色透明,字体什么的设置就很简单了。...否则会导致页面切换时选中状态不准确         TabBar与导航条混用时,TabBarItem的设置是NavigationController,而不是内容Controller,切记!!!

33620

玩转iOS转场动画 原

本篇博客主要深入讨论视图控制器、导航控制器来进行界面跳转时的专场动画相关内容。...二、UIViewController进行模态跳转的转场     首先,使用CoreAnimation框架的CATransition类也可以实现视图控制器的转场动画,前面的博客有过讨论,这里不再重复。...界面跳转时,将要弹出的视图控制器设置如下: ViewController2 * v2 = [ViewController2 new]; self.transDelegate = [[TransDelegate...- (void)pauseInteractiveTransition; //转场动画完成时调用 - (void)completeTransition:(BOOL)didComplete; //获取转场的两个视图控制器...我们使用系统的导航控制器时,右划返回效果对用户体验十分友好,我们下面就来试着将视图控制器的模态跳转设计成类似导航可交互的。

1.3K50
领券