How to get resolution change event in swift?

前端 未结 3 403
臣服心动
臣服心动 2021-01-21 12:09

I try to make an app, and now i shoud make some changes when screen resolution will change, but i coudn\'t find how to intercept this event.

Do you have any ideea ho

3条回答
  •  慢半拍i
    慢半拍i (楼主)
    2021-01-21 12:41

    Swift 4:

    The didChangeScreenParametersNotification is posted when the configuration of the displays attached to the computer is changed.

    Inside the func applicationDidFinishLaunching() in AppDelegate class or func viewDidLoad() in ViewController class, insert the following code:

    NotificationCenter.default.addObserver(forName: NSApplication.didChangeScreenParametersNotification,
                                           object: NSApplication.shared,
                                           queue: OperationQueue.main) {
                                           notification -> Void in
                                           print("screen parameters changed")}
    

    I personally, used it to center the position of my application when switching between the Mac and the external screen.

提交回复
热议问题