Swift:设置 rootViewController 不起作用?

2023-12-05

我正在尝试启动一个新的 Swift 项目。这是我第一次尝试以编程方式创建视图。然而,我的控制器看起来根本没有被加载?我所看到的只是启动屏幕,然后当我将其加载到模拟器上时出现黑屏。

这是我的 AppDelegate:

import UIKit

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {

  var window: UIWindow?

  func application(application: UIApplication,
      didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
    NSLog("zrrrzz") // <------------------------------ Prints properly
    self.window?.rootViewController = self.rootViewController()
    return true
  }

  private func rootViewController() -> UIViewController {
    NSLog("zzz") // <---------------------------------- Does not print ????
    return MapViewController.init()
  }

}

地图视图控制器:

import UIKit

class MapViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        var label = UILabel(frame: CGRectMake(0, 0, 200, 21))
        label.center = CGPointMake(160, 284)
        label.textAlignment = NSTextAlignment.Center
        label.text = "I am a test label"
        self.view.backgroundColor = UIColor.whiteColor()
        self.view.addSubview(label)
        NSLog("heyyyy!!") //<------------------------------ Also doesn't print ??
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }


    /*
    // MARK: - Navigation

    // In a storyboard-based application, you will often want to do a little preparation before navigation
    override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
        // Get the new view controller using segue.destinationViewController.
        // Pass the selected object to the new view controller.
    }
    */

}

我是不是少了一步?启动模拟器时我没有看到任何警告/错误


在行中:

self.window?.rootViewController = self.rootViewController()

If the window财产是nil,它不会执行你的self.rootViewController()称呼。您可以阅读更多有关调用文档中带有可选链的方法了解详情。

如果您尝试在代码中创建初始用户界面,则需要创建一个UIWindow实例并将其分配给self.window。使用情节提要时,这是自动为您完成的。

免责声明:我还没有在 iOS 的几个版本中编写过这段代码,所以这可能不完全正确,但它会让你朝着正确的方向前进:

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
    let applicationFrame = UIScreen.mainScreen().applicationFrame
    let window = UIWindow(frame: applicationFrame)
    window.rootViewController = self.rootViewController()
    window.makeKeyAndVisible()
    self.window = window

    return true
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Swift:设置 rootViewController 不起作用? 的相关文章

  • 检查定位服务是否开启

    我一直在对 CoreLocation 进行一些研究 最近 我遇到了一个在其他地方 但在 Objective C 和 iOS 8 中 已经讨论过的问题 我觉得问这个问题有点傻 但是如何在 iOS 9 上使用 swift 检查是否启用了位置服务
  • 带闭包的默认属性值使编译器重新编译所有文件

    This source https developer apple com library content documentation Swift Conceptual Swift Programming Language Initiali
  • 我如何从子视图导航到 mainviewcontroller

    我刚刚开始使用 swift 我创建了一个子视图 上面有一个按钮 我想使用该按钮将我带到我的主视图控制器 我对不同的按钮使用了相同的功能 但是在同一文件中具有一个功能允许该按钮工作 代码如下 var playAgainButton UIBut
  • ios 用户如何取消 Facebook 登录?

    当用户到达此屏幕时 无法取消 我能做些什么 为了首先获得这个视图 我正在运行 NSMutableDictionary params NSMutableDictionary dictionaryWithObjectsAndKeys vid l
  • 将永久字符添加到 UITextField

    有没有办法将字母永久添加到 UITextField 中 用户无法删除它 我想添加一个字符 用户无法删除它 但他们仍然可以在之后添加字母 Cheers 附注这是适用于 iOS 的 A UITextField有一个名为 应该更改范围内的字符 的
  • 如何替换已弃用的方法dispatch_get_current_queue()? [复制]

    这个问题在这里已经有答案了 我正在 iOS 5 中使用 xmppframework 开发一个聊天应用程序 它工作得很好 但我将 Xcode 更新到 4 5 1 将 iOS 5 更新到 iOS 6 将 Mac OS 更新到 10 7 5 但由
  • 如何在 SwiftUI 中仅使用 ForEach 而不是列表来滑动删除

    我正在 SwiftUI 中使用 ForEach 制作自定义列表 我的目标是进行滑动删除手势 而不是将 ForEach 嵌入到列表中 到目前为止 这是我的代码 import SwiftUI struct ContentView View le
  • 使用 iPhone 中的地图视图读取当前位置名称

    我读取了当前位置的纬度和经度值 然后成功将该位置固定在 iPhone 中 现在我想使用这个纬度和经度值读取该地名 我使用以下代码来读取查找当前位置 void mapView MKMapView mapView1 didUpdateUserL
  • 如何在 iOS 9 上可靠地检测是否连接了外部键盘?

    在 iOS 9 之前 确定是否连接外部键盘的最可靠方法是监听UIKeyboardWillShowNotification并使文本字段成为第一响应者 如中所述这个问题 https stackoverflow com questions 289
  • 如何使用 NSUserDefaults 在 Swift 中存储自定义类的数组?

    我有一个名为的自定义类Person当某人输入信息时 它会存储有关某人的各种属性 class Person Person dictionary variable var name String var age String var html
  • 带操作按钮的颤动本地通知

    我在我的 flutter 项目中尝试了 flutter 本地通知插件 它在简单通知上工作正常 但我需要带有操作按钮的通知功能 请帮助我或建议我实现此功能 不幸的是 flutter local notifications 插件尚不支持操作按钮
  • 是否可以使用 Firebase 安排推送通知? [复制]

    这个问题在这里已经有答案了 我已经阅读了我能找到的所有文档 但仍然不知道这是否可行 如果我是用户 我可以安排特定时间的推送通知吗 Example 1 我是用户并打开应用程序 2 我允许通知并转到 pickerView 或其他任何内容 并设置
  • 在 Swift 中从 UIScrollView 创建 PDF 文件

    我想从 UIScrollView 的内容创建一个 PDF 文件 func createPdfFromView aView UIView saveToDocumentsWithFileName fileName String let pdfD
  • 更改组织以使用 Xcode 9 在 iTunes Connect 上上传二进制文件

    我在 Xcode9 上配置了多个团队 当我尝试将二进制文件上传到 Xcode 9 上的 iTunes Connect 时 没有更改团队的选项 并且出现以下错误 ERROR ITMS 4088 来自苹果开发者论坛的解决方案 1 正常存档2 窗
  • 将 SSLSetEnabledCiphers 与 AFNetworking 结合使用来禁用弱密码

    我正在尝试禁用一些密码 弱 例如单个 DES 单个 DES 40 位等 我尝试过使用这段代码在 Cocoa 中使用 CFSocket CFStream 时如何设置 SSL 密码 https stackoverflow com questio
  • 减少 CoreData 的调试输出?

    我正在开发一个使用 CoreData 的 iOS macOS 项目 它工作正常 但它会向控制台输出大量调试信息 这使得控制台无法使用 因为我的打印语句隐藏在所有与 CoreData 相关的内容中 我有一个非常简单的 CoreData 设置
  • Apple Watch 预构建操作可更改故事板 customModule 引用

    我目前有一个项目 其中包含同一应用程序的 3 个不同版本 不同的品牌等 该项目运行得很好 从那时起 我添加了 3 个新的 Apple Watch 目标 每个应用程序 版本 1 个 其中 2 个引用 主 Apple Watch 目标中的文件
  • 如何让按钮闪烁?

    我试图在扫描正确时将按钮的颜色 只是闪烁 闪烁 更改为绿色 在出现问题时将按钮的颜色更改为红色 我可以用这样的视图来做到这一点 func flashBG UIView animateWithDuration 0 7 animations s
  • UIImageJPEGRepresentation 在视网膜显示屏上提供 2x 图像

    我有这段代码 它创建一个图像 然后向其添加一些效果并缩小其大小以使其largeThumbnail UIImage originalImage UIImage imageWithData self originalImage thumbnai
  • SwiftUI:发送电子邮件

    在正常情况下UIViewController在 Swift 中 我使用此代码发送邮件 let mailComposeViewController configuredMailComposeViewController mailCompose

随机推荐

  • Google Cloud Shell 使用的是project=cloud-devshell-dev 而不是我的实际项目,找不到启用的API

    我创建了一个 GCP 项目来使用视频智能 API 我在项目上启用了 API 并启动了 Cloud Shell 然后我复制了代码github并按照自述文件的说明进行操作 但是 当我尝试运行时faces py我收到此错误消息 StatusCod
  • R 中数据表的奇怪情况,列名混合

    所以我创建了这个变量mc split device在数据表内称为mc with devices 但是 如果我输入mc with devices mc split我得到了列的值mc split device虽然我从未创建过任何具有该名称的变量
  • 严重:无法初始化 Jenkins [已关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 我已经在 Linux 上安装了 jenkins 但是当我尝试启动服务器时 它出现
  • MFC 中的 libmodbus

    我正在尝试将 libmodbus 提供的 modbus 库集成到 Visual Studio 2010 中的自定义 MFC 项目中 到目前为止我所遵循的步骤如下 1 我在 Visual Studio 2010 中创建了项目 如下面的快照所示
  • 逼近非参数三次贝塞尔曲线

    近似三次贝塞尔曲线的最佳方法是什么 理想情况下 我想要一个函数 y x 它可以给出任何给定 x 的精确 y 值 但这将涉及求解每个 x 值的三次方程 这对于我的需求来说太慢了 并且可能存在数值稳定性问题以及这种方法 Would this是一
  • CMUSphinx PocketSphinx - 识别所有(或大量)单词

    在我尝试使用 Android 版 PocketSphinx 之前 我使用了 Google 的语音识别 API 我不需要设置搜索名称或字典文件 它只是识别了所说的每一个字 现在 在 PocketSphinx 中 我需要这样做 但我只能找到如何
  • mongo-php-library 和 MongoDB 驱动程序有什么区别

    mongo php library 和 MongoDB 驱动程序有什么区别 它们在性能和功能方面有何不同 优缺点都有什么 我们目前在生产中使用 mongo php library 如下所示 connection new MongoDB Cl
  • 当用户到达页面底部时隐藏 div

    我想在用户滚动并到达页面底部时隐藏 div 元素 并在用户向上滚动时再次显示它 例如 考虑以下名为 nav 的导航栏 HTML div class nav div CSS nav width 100 height 50px position
  • 谷歌地图 android api v2 应用程序崩溃

    我正在使用 Eclipse helios 和 Android 4 1 2 我已遵循以下文档https docs google com document pub id 19nQzvKP CVLd7 VrpwnHfl AE9fjbJySowON
  • 样式表或 JavaScript 文件的 Rails 404 错误

    Rails 无法在生产中加载 404 错误 CSS 和 JS 文件 但在开发中加载它们没有问题 我使用 Capistrano 进行部署并运行 Rails 3 我的开发路径是 www myapp但我的生产之路是 www myapp 当前 应用
  • 使用 VSTS Rest API 设置 git repo 权限

    有没有办法使用 VSTS Rest API 设置 git 存储库的权限 我有一个创建存储库的脚本 我想扩展它以设置一些默认权限 授予项目集合构建服务贡献权限 我读了图形用户界面文档并浏览了其余 API 文档但看不到我可以通过 API 设置存
  • 为多个系列创建折线图

    我的工作表中有如下数据 Day Area AVG Time 2013 07 01 LINE1 49 703432 2013 07 02 LINE1 38 119913 2013 07 03 LINE1 30 6651 2013 07 04
  • 临时解压缩文件以在浏览器中查看内容

    我想解压一个包含 html 页面 css 和 js 目录的文件 我想暂时解压缩它并在 iFrame 中查看 html 最好是这样 我正在使用 jszip 它正在工作 我已经加载了 html 但如何将图像 js 和 css 文件夹添加到 iF
  • 两个数组之间的余弦距离计算 - Python [重复]

    这个问题在这里已经有答案了 我想应用一个函数fn 这本质上是cosine distance对两个形状为 10000 100 和 5000 100 的大型 numpy 数组按行进行计算 即我为这些数组中的每个行组合计算一个值 我的实现 imp
  • 移动图中的多个盒子?

    我已经拥有在 MATLAB 中拖放图形中的单个框所需的函数 我编写的代码在图中填充了几个方框 通过另一个循环 我用更多的框填充了图形 其中以字符串形式保存不同的信息 这两组框通过我在其 UserData 中放置的数字相关 对应的数字 对于每
  • 当输入获得焦点时动画父 div

    我正在尝试做到这一点 以便当有人单击输入框时它会升到屏幕顶部 我能够完成这项工作 但我无法让父 div 中的其他内容随之移动 这是我所拥有的 container input search bar focus position absolut
  • Android Facebook 开放图谱?

    我很好奇是否可以获得 Open Graph 方面的帮助 因为我似乎无法从我读过的 Facebook API 中获得任何意义 现在我已经在 Facebook 上设置了我的 Open Graph 应用程序 已获批准 我正在尝试通过捆绑参数提交我
  • 调暗非活动形式

    使用 Form ShowDialog 打开对话框表单时 我想用灰色阴影调暗应用程序的其余部分 从我自己的研究来看 这样做的方法似乎是打开一个黑色背景且不透明度小于 100 的无边框表单 但我还没有将所有部分放在一起 了解它是如何工作的 或者
  • 如何在流(java)中添加日期时间值?

    今天我开始学习 Java 8 所以我对 Java 8 及其相关的东西还很陌生 我有一份活动清单 活动有名称 开始时间 结束时间 对于 startTime 和 endTime 我使用 joda 时间中的 DateTime 我正在尝试确定映射形
  • Swift:设置 rootViewController 不起作用?

    我正在尝试启动一个新的 Swift 项目 这是我第一次尝试以编程方式创建视图 然而 我的控制器看起来根本没有被加载 我所看到的只是启动屏幕 然后当我将其加载到模拟器上时出现黑屏 这是我的 AppDelegate import UIKit U