NetNewsWire/iOS/SceneDelegate.swift

77 lines
2.8 KiB
Swift

//
// AppDelegate.swift
// NetNewsWire
//
// Created by Maurice Parker on 6/28/19.
// Copyright © 2019 Ranchero Software. All rights reserved.
//
import UIKit
class SceneDelegate: UIResponder, UIWindowSceneDelegate {
var coordinator = AppCoordinator()
var window: UIWindow?
// UIWindowScene delegate
func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) {
window!.tintColor = AppAssets.netNewsWireBlueColor
let splitViewController = UIStoryboard.main.instantiateInitialViewController() as! UISplitViewController
splitViewController.delegate = coordinator
window!.rootViewController = splitViewController
let masterNavigationController = splitViewController.viewControllers[0] as! UINavigationController
let masterFeedViewController = masterNavigationController.topViewController as! MasterFeedViewController
masterFeedViewController.coordinator = coordinator
let navigationController = splitViewController.viewControllers[splitViewController.viewControllers.count-1] as! UINavigationController
navigationController.topViewController!.navigationItem.leftBarButtonItem = splitViewController.displayModeButtonItem
// if let userActivity = connectionOptions.userActivities.first ?? session.stateRestorationActivity {
// if !configure(window: window, with: userActivity) {
// print("Failed to restore from \(userActivity)")
// }
// }
// If there were no user activities, we don't have to do anything.
// The `window` property will automatically be loaded with the storyboard's initial view controller.
}
func sceneDidEnterBackground(_ scene: UIScene) {
appDelegate.prepareAccountsForBackground()
}
func sceneWillEnterForeground(_ scene: UIScene) {
appDelegate.prepareAccountsForForeground()
}
// func stateRestorationActivity(for scene: UIScene) -> NSUserActivity? {
// return scene.userActivity
// }
//
// Utilities
// func configure(window: UIWindow?, with activity: NSUserActivity) -> Bool {
// if activity.title == GalleryOpenDetailPath {
// if let photoID = activity.userInfo?[GalleryOpenDetailPhotoIdKey] as? String {
//
// if let photoDetailViewController = PhotoDetailViewController.loadFromStoryboard() {
// photoDetailViewController.photo = Photo(name: photoID)
//
// if let navigationController = window?.rootViewController as? UINavigationController {
// navigationController.pushViewController(photoDetailViewController, animated: false)
// return true
// }
// }
// }
// }
// return false
// }
}