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

以编程方式将初始视图控制器设置为tab控制器swift 2

在Swift 2中,可以通过编程方式将初始视图控制器设置为Tab控制器。下面是一个示例代码:

代码语言:swift
复制
import UIKit

class AppDelegate: UIResponder, UIApplicationDelegate {

    var window: UIWindow?

    func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
        
        // 创建Tab控制器
        let tabBarController = UITabBarController()
        
        // 创建视图控制器
        let viewController1 = UIViewController()
        viewController1.view.backgroundColor = UIColor.redColor()
        viewController1.tabBarItem = UITabBarItem(title: "Tab 1", image: nil, tag: 0)
        
        let viewController2 = UIViewController()
        viewController2.view.backgroundColor = UIColor.greenColor()
        viewController2.tabBarItem = UITabBarItem(title: "Tab 2", image: nil, tag: 1)
        
        // 将视图控制器添加到Tab控制器
        tabBarController.viewControllers = [viewController1, viewController2]
        
        // 设置初始视图控制器为Tab控制器
        self.window = UIWindow(frame: UIScreen.mainScreen().bounds)
        self.window?.rootViewController = tabBarController
        self.window?.makeKeyAndVisible()
        
        return true
    }
}

在上述代码中,我们首先创建了一个UITabBarController对象作为Tab控制器。然后,我们创建了两个UIViewController对象作为Tab的两个视图控制器,并设置它们的背景颜色和标签项。接下来,我们将这两个视图控制器添加到Tab控制器的viewControllers数组中。最后,我们将Tab控制器设置为应用程序的根视图控制器,并将其显示在屏幕上。

这样,当应用程序启动时,初始视图控制器就会被设置为Tab控制器,并显示Tab栏以及对应的视图控制器内容。

推荐的腾讯云相关产品和产品介绍链接地址:

请注意,以上链接仅供参考,具体产品选择应根据实际需求进行评估。

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

相关·内容

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

屏幕快照 2017-07-15 下午1.52.29.png 2.创建标签配置Plist文件,并且在Plist文件中设置视图控制器的类名、Title、标签栏图片等信息 ?...第三步:创建视图控制器 自定义导航控制器视图控制器的父类,并且创建三个继承于BaseViewController的视图控制器(因为没有过多复杂操作,这里省略代码),之后创建标签控制器做准备。...{ //1.调用父类的初始化方法 super.init(nibName: nil, bundle: nil) //2.读取Plist文件,初始化标签栏配置数组...makeKeyAndVisible() //设置Window的根视图控制器自定义的标签栏 self.window?....在项目前期我们自定义的方式来创建标签栏,这也是为了后期应对更加复杂的需求做伏笔,比如增加新的控制器我们只需要修改plist配置文件的属性创建相应的视图控制器就可以,这样就避免了修改大量代码。

3.8K70

Swift:静态工厂方法

放置此类设置代码的一个非常常见的地方是子类。只需将您需要设置的对象子类化,覆盖其初始化程序并在那里进行设置——完成!...swift: 静态工厂方法 视图 Views 视图是我们在编写UI代码时必须设置的最常见对象之一。...此外,由于扩展名可以限制为单个文件(通过添加private关键字),因此我们可以轻松地需要创建特定视图的应用程序部分设置扩展名,只有一个功能即可: //我们只会在单个视图控制器中使用它,因此我们范围设为私有...就像用于视图一样,工厂方法我们提供了非常干净的调用方式。...特别是如果与"Swift视图控制器用作插件" 中的便捷API的稍加修改版本结合使用,我们现在可以在执行异步操作时轻松添加预先配置的加载视图控制器: class ProductListViewController

2.3K10

Ios常用第三方框架(二)

Sapporo - swift 单元格模型驱动的集合视图管理器组件。又一个超实用的“轮子”。...会自动collection view处理完善,并将用户消息合适美观的方式显示出来。每个iOS项目都可以自动处理。...ZWSlideViewController - ZWSlideViewController多页滑动视图控制器(类似新闻类门户APP),可以用最简单的继承方法使用,也可以不用继承,只用菜单或主视图页面,可实现丰富的定制...实现教程 XWCatergoryView - 一个轻量级的顶部分类视图控件,只需要通过简单的设置,你就可以快速集成该控件, 控件目前暂时有底部横条移动,椭圆背景移动,文字缩放,文字颜色变化,和文字颜色渐变五种效果...TabDrawer.swift - 更适合单手操作的可定制 Tab Bar 组件库。P.S. 自动布局选择了 EasyPeasy。

7.6K60

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

视窗UIWindow虽然也是UIView,但不能用处理普通UIView的方式设置2....通过调用initWithRootViewController:方法可以特定控制器设置根。...选项卡类的方便之处就是不需要象导航栏那样栈的方式推入和弹出视图的操作,而是组建一系列的控制器(它们各自可以是UIViewController、UINavigationController、UITableViewController... alloc] init];   // 创建好的这些视图控制器先添加到一个Array对象中,再将此数组分配给Tab Bar Controller的viewControllers属性 NSArray...1.作用: •创建和管理视图。 •管理视图上显示的数据。 •设备方向变化,调整视图大小适应屏幕。 •负责视图和模型之间的数据及请示的传递。 2.

5K50

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

下面的代码片段展示了如何初始化和显示一个带有“取消”和“好的”按钮的对话框视图。...版本和Objective-C版本不同,在swift中,alertView的初始化只允许创建拥有一个取消按钮的对话框视图。...一种模块化替换的方式来代替这两货的功能和作用。...在iPad上(常规宽度),上拉菜单弹出框的形式展现。         创建上拉菜单的方式和创建对话框的方式非常类似,唯一的区别是它们的形式。     ...释放对话框控制器         通常情况下,当用户选中一个动作后对话框控制器将会自行释放。不过您仍然可以在需要的时候编程方式释放它,就像释放其他视图控制器一样。

29230

iOS开发常用之网络

会自动collection view处理完善,并将用户消息合适美观的方式显示出来。每个iOS项目都可以自动处理。...BubbleTransition - 气泡膨胀和缩小的动画效果来显示和移除控制器,Uber的就是这种取消操作的方式。...仿LOL滚动视图 - 仿LOL滚动视图。 答案选择切换页 - scrollview和tableview封装在一起,在初始的时候简单的数据带上,就可以一页一页的左右来回滑动。...TTGEmojiRate.swift - TTGEmojiRate.swiftEmoji表情基础绘图,Swift开源项目:TTGEmojiRate的实现。...STLBGVideo - STLBGVideo让您的视图控制器的自定义backgroundvideo,实现说明1,实现说明2。 Advance.swift - 简单易用,功能强大的动画框架库。

23.5K10

成为一名优秀 Swift 开发人员的 10 个小技巧

Swift 是一种现代语言,支持许多现代编程概念,同时保持代码的简洁。 如果你想改进 Swift 代码,可以参考一下以下几点建议。 1....Swift 协议类似于 Java 中的接口,这是 OOP 编程中最基础的理论。...但是 Swift 扩展可以轻松地简单方法集成到通用类上,而无需做任何复杂的事情。...不过没关系,扩展组织到单独的文件中,保持可读性就行了。 7. 尽可能使用容器视图 随着 UI 越来越复杂,我们通常必须集成 Tab、滑动布局,Page 等内容。...显然,您必须正确的方式实现类,封装,抽象和设计模式。在本文中,我重点更多地放在Swift功能上,提高代码效率并传递Swift机制的优点。

2.2K40

Mac开发之 Cocoa 绑定 入门

3.绑定简单使用方式 3.1 视图(View)绑定到模型(Model) 视图绑定到模型对象,就是告诉视图需要显示的内容来自哪里(通常是数据模型对象的某个属性),以及什么时候更新显示内容.当数据模型的某一属性的值发生改变时...score属性,初始0 添加Person类,并初始化score属性0 (3)选中Main.storyboard,添加界面组件 拖入一个Label,放在视图的右侧,然后再拖入一个slider,把它放在...类中,给score属性前面,添加一个关键字dynamic,然后再来试试运行吧 (9)设置Swift中的KVO 开启KVO (10) 通过改变score的值来影响Label和Slider 实际项目中,更常用的方式是...,简化了开发步骤,同时也减少了Bug的可能. 3.2 绑定到控制器 在刚刚的例子中,我们视图直接绑定在模型对象的属性上,跳过了控制器,这种情况对应简单的使用没有问题,但绑定还有更多的使用方式,也许你在签名的例子中已经注意到了...slider,用于验证设置是否生效,界面的视图大概类似下面的样子: 添加UI控件 (2)设置复选框的绑定,对复选框的Valus属性进行绑定操作 绑定复选框的Value到默认系统 (3)设置slider的绑定

1.8K20

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

译者注:文段中没有 Xcode,下文中提及 Xcode 新建项目 为了让你的应用感觉更快,你可以启动页设计向用户显示的第一个页面(视图控制器)类似。...可以恢复标识符组合在一起形成恢复路径。标识符是通过视图层次结构来分组的,从根视图控制器到当前活动视图控制器。...作为活动视图控制器并离开应用程序时,该路径将会被应用程序保存; 那么应用程序记住以前的视图层次结构即(Tab Bar Controller → Navigation Controller → My...我们可以在 Interface Builder 中将视图设置不透明: ?...在 storyboard 中将 UIView 设置不透明(查看大图) 或者我们可以在代码中修改 UIView 的 isOpaque 属性: view.isOpaque = true 视图设置不透明将使绘图系统在渲染屏幕时优化一些绘图性能

3.2K30

Swift封装-滑出式导航栏

效果图.gif 前言: 本文将会创建以下几个主类: DWContainerViewController:这包含了左视图,中视图和右视图控制器视图,并处理动画和滑动等操作。...} 创建DWStar.swift模型,并且初始化cell显示的数据,代码如下: //结构体 struct DWStar { let title: String let creator:...(单位) 扩展UIStoryboard,方便取得VC,代码如下: private extension UIStoryboard { static func mainStoryboard()...() centerViewController.delegate = self //centerViewController包装在导航控制器中 centerNavigationController...如果它应该展开,那么它将设置当前状态指示左侧面板展开,然后为中央面板设置动画,以便打开。否则,它将关闭中央面板,然后移除其视图,并设置当前状态指示其关闭。

2.3K80

Swift中使用工厂进行依赖注入

一个选择是简单地发送者也添加到列表视图控制器初始化器中: class MessageListViewController: UITableViewController { init(loader...我们首先为我们的工厂定义一个协议,这将使我们能够轻松地创建我们应用程序中需要的任何视图控制器,而不需要实际了解其依赖性或初始化器。...我们还将创建额外的工厂协议来创建我们的视图控制器的依赖关系,比如这个,让我们我们的列表视图控制器创建一个MessageLoader: protocol MessageLoaderFactory {...例如,如果MessageListViewController是我们应用程序的初始视图控制器,我们可以简单地创建一个DependencyContainer的实例并将其传入: let container =...小结 使用工厂协议和容器来设置你的依赖注入是一个很好的方法,可以避免传递多个依赖关系,以及不得不创建复杂的初始化器。

78620

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

StoryBoard 和 Xib 都是用来分离UI样式代码,改善视图代码重用率,增加所见即所得,降低视图测试繁复度的视图系列化工具, 其中Xib视图View为主, StoryBoard 控制器Controller...所有初始样式都是在属性面板中设置的值,通过 func setValue(_ value: Any?...一个占位的容器视图指向子控制器的Embed Segue 按住Control键连线到想要包含的子控制器,占位视图的实例==子控制器的view(子控制器视图) 选择Embed连线方式后,子控制器 的尺寸变化成跟占位视图一样的尺寸...这样我们可以功能图标的CollectionView的代码放到这第一个子控制器上,CollectionViewDelegate、CollectionViewDataSource等代码也由子控制器实现...项目-Xib | StoryBoard 设备适配技巧[2]》及 《纯Swift项目-Xib | StoryBoard 约束使用技巧[3]》或其他相关文章。

1.9K20

Swift 中风味各异的依赖注入

前言 在之前的文章中,我们看了一些使用依赖注入的不同方法,实现Swift应用中更多的解耦和可测试架构。...例如, 在Swift中使用工厂的依赖注入[1]中把依赖注入和工厂模式结合起来,以及在Swift中避免使用单例[2] 中利用依赖注入取代单利。...一个例子是在构建视图控制器时,特别是当你使用 XIBs 或 Storyboards 来定义它们时,因为这样你就无法再控制你的类的初始化器了。...为了发挥作用,这个视图控制器需要一个系统提供的PHPhotoLibrary类的实例(它是一个单例),以及一个我们自己的PhotoEditorEngine类的实例。...我们不需要改变对象的初始化器或属性暴露可变的(这并不总是一个好方式),而是可以开放某个API来接受一个依赖关系作为参数。 让我们来看看一个NoteManager类,它是一个记事应用程序的一部分。

62610

iOS 面向协议方式封装空白页功能

Swift除了可以面向对象编程,它还可以面向协议编程。那可不可以也用协议来解决情况呢?...嘿嘿,这个可以有,那我们接下来就来试试怎么通过协议的方式来避免上述情况,并且实现一行代码添加空白页功能 前言 如果对面向协议有疑问的同学可以看下我之前的两篇文章 iOS - Swift 面向协议编程...(一) iOS - Swift 面向协议编程(二) 之前的文章中提到了,协议除了起规范作用,还有别一个用处,就是赋予能力。...我们现在的目的就是让目标控制器或者目标视图在遵守我们的协议后,就可以有实现空白页的功能。...可以使用Cocoapods的方式来安装使用 pod 'LXFProtocolTool' 我也 iOS - Swift 面向协议编程(二) 中提及的通过协议便捷加载xib的功能也集成了进来。

1.4K50

iOS的MVC框架之控制层的构建(上)

功能的展现在设计上我们可以理解通过视图来完成,而业务逻辑实现则是由模型层来完成,所以必须要存在一个实体来这两者关联起来,并且起到统筹和控制的能力。这个实体由控制层的控制器来实现和担当最合适。...唯一的要求就是同一个文件夹内的功能要体现出聚合性强的原则,也就是在某一天甚至可以这部分单独抽离出来构建一个子项目时而不需要进行进行大量的改变。 2. 基本控制器以及派生类。...= nil) { //在视图控制器初始化里面初始化一个帮助对象。...= nil) { //在视图控制器初始化里面初始化一个帮助对象。...而后面两种语言中因为没有分开,所以在这些语言更倾向于通过接口定义和实现来完成这种共有属性和私有属性分类的机制(您可以看出在Java中大量的使用了接口来完成整个体系架构,以及Swift中也是推崇接口编程这种理念

1.5K20

XcodeXcode 9 的全新功能您会喜欢的工具。内建 Interface BuilderXcode IDE

在数分钟内创建出原型,然后图形方式界面关联到 Xcode 编辑器中的源,设置窗口、按钮和滑块的布局,从而创建能够正常运行的 Mac、iPhone 或 iPad 用户界面。...Cocoa 和 Cocoa Touch 使用“模型-视图-控制器”模式构建,因此可以轻松地独立设计界面,不受实现方式的限制。...Xcode 包括以下 Storyboard 控制器: 表格视图控制器 集合视图控制器 导航控制器 标签栏控制器 页面视图控制器 GLKit 视图控制器 或自定义 Assistant 编辑 Storyboard...内建 Interface Builder 无需编写代码即可设计和测试您的用户界面,几分钟就能设计出原型,然后图形方式界面关联到 Xcode 编辑器中的源。...快速帮助 编程您显示简练的 API 文档,其中包括代码撰写的注释。在填写代码过程中显示简短的概述,并在实用工具区域内提供更多链接和参考。

8.2K30

AVKit框架详细解析(二) —— 基于视频播放器的画中画实现(一)

具体来说,您将了解: Background modes 设置 AVAudioSession 控制画中画显示 PIP与自定义播放器控制器结合使用 本教程使用iPhone,但示例应用程序是跨平台的,也适用于...moviePlayback) } catch { print("Failed to set audioSession category to playback") } 通过这样做,您将音频会话的类别设置....playback,播放模式设置 .moviePlayback。...delegate = self 此代码初始化pictureInPictureController 并设置其代理。 接下来,您将添加功能,以便您的用户可以在自定义播放器控制器中启动和停止画中画。 1....2) 如果有一个展示的控制器,在没有动画的情况下关闭它,因为用户希望尽快让他们的视频恢复正常并且对任何视图控制器动画不感兴趣。

2.6K10
领券