为什么我们需要在iOS中设置keywindow

时间:2017-06-20 04:22:13

标签: ios swift

  

触摸事件被发送到它们发生的窗口,   传递给没有相关坐标值的事件   关键窗口。一次只能有一个窗口可以成为关键窗口   您可以使用窗口的isKeyWindow属性来确定其状态。   大多数情况下,您的应用程序的主窗口是关键窗口,但UIKit   可以根据需要指定不同的窗口。   https://developer.apple.com/documentation/uikit/uiwindow

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {

  // Initialize the window
  window = UIWindow.init(frame: UIScreen.mainScreen().bounds)

  // Set Background Color of window
  window?.backgroundColor = UIColor.whiteColor()

  // Allocate memory for an instance of the 'MainViewController' class
  let mainViewController = MainViewController()

  // Set the root view controller of the app's window
  window!.rootViewController = mainViewController

  // Make the window visible
  window!.makeKeyAndVisible()

  return true
}  

我读过但仍然不明白为什么我们需要设置一个窗口到关键窗口。

  

触摸事件被发送到它们发生的窗口,   传递给没有相关坐标值的事件   关键窗口

将窗口设为关键是什么影响,然后才会发生什么?

由于

1 个答案:

答案 0 :(得分:2)

  • makeKeyAndVisible消息生成一个窗口键,并将其移动到 在其关卡的任何其他窗户前面。

  • makeKeyAndVisible的调用用于指定哪一个是最新的。

  • 它将新视图控制器分配给窗口的rootViewController属性,然后在屏幕上显示该窗口。

    - 这是一种方便的方法,用于显示当前窗口并将其放置在同一级别或更低级别的所有其他窗口的前面。如果您只想显示窗口,请更改它 隐 财产到 NO see Apple Doc