【问题标题】:Why is my window smaller than the device viewport?为什么我的窗口比设备视口小?
【发布时间】:2015-01-29 12:23:04
【问题描述】:

所以我开始努力学习 swift,我想我会从制作一个新应用开始。它基于带有 2 个视图控制器的 Tabbar 控制器。我也非常不喜欢情节提要笔尖,因此我删除了所有情节提要和对它们的引用(我通常为我的 Objective-C 项目这样做,它们可以正常工作)。

我已经开始向我的 AppDelegate 添加一些必要的代码:

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
    // Override point for customization after application launch.
    self.window = UIWindow(frame: UIScreen.mainScreen().bounds)

    self.window!.backgroundColor = UIColor.whiteColor()
    self.window!.makeKeyAndVisible()

    tabbarController = TabBarViewController()

    self.window?.rootViewController = tabbarController

    return true
}

看起来很简单,但是当我运行应用程序时我得到了这个:

以及配置:

我到处看了看,但我不明白为什么它总是加载一个较小的窗口。我也尝试过手动设置框架并指定更大的高度..但没有骰子。我错过了什么?

【问题讨论】:

  • 创建一个xib文件并将其设置在启动屏幕文件字段中。
  • 解决了!谢谢@Jageen - 但是为什么我需要一个来启动?如果我想在没有这样的文件的情况下这样做怎么办? (编辑:如果有一个简单的解释,我很乐意接受它作为答案)
  • 要支持 iPhone6 和 iPhone6+,您必须添加 launchScreen.xib 文件,否则应用程序将以缩放模式运行。

标签: ios swift appdelegate uiwindow


【解决方案1】:

如果你想支持 iPhone6/iPhone6+ 你必须设置启动 xib 文件。
参考:HIG

【讨论】:

  • 那是智障,如果我的应用程序中不使用任何故事板/xib 怎么办?似乎很傻,只有一个并且只能修复应用程序的窗口大小......
  • 很奇怪,但似乎确实如此!即使使用 Xcode 9 和 iOS 11。
猜你喜欢
  • 2011-04-10
  • 1970-01-01
  • 2015-10-14
  • 2018-10-23
  • 1970-01-01
  • 1970-01-01
  • 2017-06-15
  • 2021-12-17
  • 2022-01-10
相关资源
最近更新 更多