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

如何在appdelegate xcode 11 swift 5中显示视图控制器

在Appdelegate中显示视图控制器的步骤如下:

  1. 打开Xcode 11,创建一个新的Swift项目。
  2. 在项目导航器中找到AppDelegate.swift文件,双击打开它。
  3. 在AppDelegate类中,找到application(_:didFinishLaunchingWithOptions:)方法。
  4. 在该方法中,创建一个UIWindow对象,并将其设置为应用程序的主窗口。可以使用UIWindow(frame:)方法来创建窗口对象。
  5. 创建一个要显示的视图控制器对象,并将其设置为窗口的根视图控制器。可以使用ViewController()来创建一个简单的视图控制器对象。
  6. 将窗口的根视图控制器设置为刚创建的视图控制器对象。可以使用窗口的rootViewController属性来设置根视图控制器。
  7. 最后,调用窗口的makeKeyAndVisible()方法来显示窗口和根视图控制器。

以下是示例代码:

代码语言:txt
复制
import UIKit

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {

    var window: UIWindow?

    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
        
        // 创建窗口对象
        window = UIWindow(frame: UIScreen.main.bounds)
        
        // 创建要显示的视图控制器对象
        let viewController = ViewController()
        
        // 设置窗口的根视图控制器
        window?.rootViewController = viewController
        
        // 显示窗口和根视图控制器
        window?.makeKeyAndVisible()
        
        return true
    }
}

这样,在AppDelegate中就成功地显示了一个视图控制器。你可以根据需要自定义视图控制器,并将其设置为窗口的根视图控制器。

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

相关·内容

  • iOS开发之Xcode11后纯代码项目工程设置

    Xcode 11发布之后,新建iOS项目工程时,会有很多变化,最大的变化是多了文件SceneDelegate,此时如果希望通过纯代码设置界面,流程与以往会有一些不一样,本文简单介绍一下。...Interface中的Main,同时需要删除info.plist中的如下代码 UISceneStoryboardFile Main 项目文件变化 AppDelegate.swift...实例 完成启动后,控制权被交接给 SceneDelegate,它的 scene(_:willConnectTo:options:)将会被调用,设置window的根视图控制器 func scene(_ scene...删除内容.png 3.AppDelegate.swift中代码写成和Xcode11之前的样子 var window: UIWindow?...AppDelegate.swift中的如下代码 func application(_ application: UIApplication, configurationForConnecting connectingSceneSession

    1.8K10

    iOS13 Scene Delegate

    在上面的代码中,我们可以手动地设置了视图控制器堆栈,稍后会进行详细介绍。...configurationForConnecting:options:) : 方法会返回一个UISceneConfiguration对象,其中包含场景详细信息,包括要创建的场景类型,用于管理场景的代理对象以及包含要显示的初始视图控制器的...下面是纯代码实现界面显示的代码: Swift适配代码步骤: 1)第一步,SceneDelegate中添加@available(iOS 13, *) //SceneDelegate.swift @available...接着为SwiftUI项目创建了ContentView实例,并通过使用UIHostingController将其添加为根视图控制器。 该控制器用于将基于SwiftUI的视图显示在屏幕上。...scene(_: willConnectTo: options: )函数内,创建一个SwiftUI视图,将其放置在托管控制器中,然后将控制器分配给window属性的根视图控制器,并将该窗口放置在应用程序

    5.6K21

    如何解决Xcode中的SIGABRT错误

    在本教程中,您将学习: 如何解决Xcode中的“ Signal SIGABRT”错误 如何在Xcode中使用某些调试工具 SIGABRT代表什么,其原因是什么 找到SIGABRT根本原因的3种方法 准备好...突出显示了编辑器中的第12行,即类的定义AppDelegate。 在底部,您会看到有用的调试输出。在这种情况下,您将获得一个堆栈跟踪和有关不符合“键值编码兼容”的神秘错误消息。...在继续之前,让我们讨论SIGABRT的一些误解和常见陷阱: SIGABRT错误通常与AppDelegate类声明无关,即使它在Xcode中突出显示了该行。...该应用程序此时告诉我们,视图控制器不符合该键的键值编码button。这意味着它无法button在视图控制器上找到该属性。没错,因为我们已经对其进行了重命名。...该违规代码是在第21行ViewController.swift,内部viewDidLoad()功能 你甚至可以看到,我们所使用的标的“吸气”Array 在崩溃之前,进行了大量与视图控制器相关的函数调用

    6.1K20

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

    接着看下写作环境: Swift 5, iOS 14, Xcode 12 下面就是正文了。 如今,用户希望能够使用Picture in Picture (PiP) - 画中画播放视频。...---- Implementing PiP 打开 AppDelegate.swift。...点击视频以显示自定义播放器控制器。 很好! 视频在自定义控制器中播放。 但是……如果您点击画中画按钮,则什么也不会发生。 别担心,你现在会解决这个问题的。...2) 如果有一个展示的控制器,在没有动画的情况下关闭它,因为用户希望尽快让他们的视频恢复正常并且对任何视图控制器动画不感兴趣。...4) 如果没有展示控制器,只需再次呈现原始控制器并调用completion block。 构建并运行。 上面的 GIF显示了两个代码路径: 1) 进入画中画然后恢复继续全屏显示画中画视频。

    2.9K10

    试用Xcode构建iOS PDF阅读器

    在本博客中,我们使用Xcode14.0.1来演示示例图片目前暂不支持在苹果Silicon系列上运行模拟器对于早期版本的Xcode(如Xcode 13),默认情况下可能会打开Bitcode选项,因此需要关闭才能进行运行...通过以下步骤,您将获得一个能够显示指定PDF文件内容的简单应用程序。在本文中,我们以Xcode 14.0.1作为示例。...CPDFView alloc] initWithFrame:rect] autorelease]; pdfView.document = document;将创建的 CPDFView 添加到当前控制器的视图中...PDF文件将被打开并显示在屏幕上。 图片如果无法显示PDF内容,请检查创建的NSURL和"CPDFDocument"对象是否为空,或者创建的"CPDFView"的大小是否为零。它们不应该为空。...在较旧的Xcode版本(如Xcode 13)中,默认情况下可能启用了位码选项。为了运行应用程序,需要将其设置为“否”。

    48530

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

    屏幕快照 2017-07-15 下午2.40.54.png 第一步:创建Swift工程# 1.使用Xcode创建一个Swift初始项目ZSTestSwift,效果如下: ?...第三步:创建视图控制器 自定义导航控制器和视图控制器的父类,并且创建三个继承于BaseViewController的视图控制器(因为没有过多复杂操作,这里省略代码),为之后创建标签控制器做准备。...屏幕快照 2017-07-15 下午12.03.08.png 第四步:创建自定义的标签视图控制器和自定义UITabbar 1.创建自定义标签控制器MainTabBarController,其关键代码如下...,通过currentSelectState的属性观察器更新标签item的显示 //并且通过代理方法切换标签控制器的当前视图控制器 func didItemClick(item:MainTabBarItem...在项目前期我们以自定义的方式来创建标签栏,这也是为了后期应对更加复杂的需求做伏笔,比如增加新的控制器我们只需要修改plist配置文件的属性创建相应的视图控制器就可以,这样就避免了修改大量代码。

    4.4K70

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

    当你新建 iOS 项目时,Xcode 会创建一个空白的 LaunchScreen.storyboard 供你使用。当应用程序加载视图控制器和布局时,将向用户显示此页面。...译者注:文段中没有 Xcode,下文中提及为 Xcode 新建项目 为了让你的应用感觉更快,你可以将启动页设计为与将向用户显示的第一个页面(视图控制器)类似。...为了实现状态保存和恢复,我们可以在 AppDelegate.swift 中实现下面两个方法: func application(_ application: UIApplication, shouldSaveApplicationState...// ViewController.swift self.restorationIdentifier = "MainVC" 在状态保留期间,所有被分配了恢复标识符的视图控制器或视图都会将其状态保存到磁盘...(查看大图) 默认情况下,视图控制器生命周期方法(如 viewDidLoad)和 IBOutlet 相关方法是在主线程上执行。

    3.2K30

    一步一步,开始上手Mac 开发(一)

    创建后的界面 项目就绪,现在你已经拥有一个具有空窗口的Mac Application了,点击运行,Xcode将开始编译这个App,当Xcode编译完成后,你就可以看到这个App的主窗口了(尽管它上面空空如也...现在Application Delegate 已经拥有了MasterViewController 属性,但是这并不能显示(被view controller管理的)视图到应用程序的屏幕上,我们还需要通过实例化这个属性来创建一个新的...将控制的view 添加到主窗口的容器视图(contentView)中。 3. 设置控制器view的大小与主窗口相等。...1.12 点击运行,在主窗口将会显示带有table View的视图 ?...AppDelegate.m文件 运行程序,确保上面我们做的设置没有错误。为了能够显示需要的Bug 列表,我们要让table view 从模型中获取数据。

    4.1K40

    iOS屏幕旋转及其基本适配方法

    我们首先有个大致的了解,控制屏幕旋转优先级为:工程Target属性配置(全局权限) = Appdelegate&&Window > 根视图控制器> 普通视图控制器。...比如说我们设置要单个视图控制器可以自动旋转,这需要在视图控制器中增加shouldAutorotate方法返回YES或者NO来控制。...但如果存在上层根视图控制器,而我们只在这个视图控制器中实现方法,会发现这个方法是不走的,因为这个方法被上层根视图控制器拦截了。理解这个原理后,我们有两种方法实现自动可控的旋转设置。...方法2: 另辟蹊径,使用模态视图 使用模态视图可以不受这种根视图控制器优先级的限制。这个也很容易理解,模态弹出的视图控制器是隔离出来的,不受根视图控制的影响。...从界面A到界面B中,如果我们使用第五节中的方法1会遇到无法显示默认横屏的情况,因为没有旋转设备,shouldAutorotate就没被调用,也就没法显示我们需要的横屏。

    9.5K60

    深度学习图像识别项目(下):如何将训练好的Kreas模型布置到手机中

    接下来,我们将在Xcode中创建一个Swift项目。对于熟悉Xcode的人来说,这一步没有什么困难,但对于我来说,我必须使用在线资源学习(我不是移动专家,而且我已经很久没有使用Xcode了) 。...在Xcode中创建一个Swift + CoreML深度学习项目 ? 第0步: 准备开发环境 本节的第0步是在Macintosh电脑上下载并安装Xcode。...第2步:删除storyboard storyboard是一个视图控制器(可视化模型/视图/控制器架构)。我们将脱离简单应用程序的视图控制器。以编程方式创建视图。...第4步:创建应用程序窗口和根视图控制器 尽管我们删除了storyboard,也需要一个视图。在这一步,你需要将以下代码复制并粘贴到 AppDelegate .swift中 。...viewDidLoad函数在视图加载之后调用。对于通过代码创建的视图控制器,这个过程是在loadView之后 。

    5.4K40

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

    基于 Swift 4 的兼容性,Xcode 9 使用同一个编译器来构建已有的 Swift 3 代码和最新的 Swift 4 代码。从此,数据迁移的节奏,您说了算。...版本编辑器拆分窗格,以显示同一文件的两个不同版本。当您查看拆分编辑器视图的时间线时,差异会突出显示。...Cocoa 和 Cocoa Touch 使用“模型-视图-控制器”模式构建,因此可以轻松地独立设计界面,不受实现方式的限制。...image Storyboard 完整的 iOS app 是由多个供用户导航的视图组成的。这些视图之间的关系由 Storyboard 定义,Storyboard 显示 app 流的完整视图。...Xcode 包括以下 Storyboard 控制器: 表格视图控制器 集合视图控制器 导航控制器 标签栏控制器 页面视图控制器 GLKit 视图控制器 或自定义 Assistant 编辑 Storyboard

    8.3K30

    Flutter 接入 Apple 账号登录教程

    引言 2019 年底,苹果发布了 iOS 13,并增加了一个新要求:任何使用第三方登录方法的应用(如 Facebook、Google、Twitter 等)在提交到 App Store 时必须也支持 Sign...本文将详细介绍如何在 Flutter 中实现这一功能,包括项目配置、iOS 部分的实现,以及 Flutter 代码的编写。...实现步骤 配置 在 iPhone 或模拟器上运行你的应用,然后打开 Xcode 项目。你可以通过终端输入 open ios/Runner.xcworkspace 打开项目。...实现 在 Flutter 中添加 Sign in with Apple 按钮有两种方法: 重新绘制按钮 使用 iOS 视图(推荐) 使用 iOS 视图的步骤: 在你的 Dart 代码中,找到要放置 Sign...语言,打开 AppDelegate.swift 文件,并在文件顶部导入 AuthenticationServices 库: import AuthenticationServices 接下来,添加以下类以实现按钮的显示

    16610

    肘子的 Swift 周报 #055| 让技术为我所用,不要被其反噬

    本文中,tit 不仅深入讲解了 Swift 宏的基础和进阶用法,还展示了如何在 Bilibili 会员中心模块开发过程中,通过自定义宏减少冗余代码的编写,优化整体开发体验。...Xcode 16 中的一项新变化:在调试模式下构建 SwiftUI 应用时,所有视图都会被包裹在 AnyView 中。...但在某些情况下(如 List ),这一处理方式可能会阻碍性能优化。Vahter 提醒开发者留意该行为带来的影响,避免因误判而陷入调试陷阱。...Junping[13] 强调了通过 Inject 实现在 Cursor 中构建类似 Xcode 预览的开发体验[14],展示了如何在新的工作流中替代传统工具。...Ethan Huang[15] 正在制作系列视频[16],重点介绍如何在 Cursor 和 Xcode 之间实现无缝切换,帮助开发者更灵活地使用多种开发工具。

    3100
    领券