Create RootSplitViewController in code rather than in storyboard.
This commit is contained in:
parent
903b0257a8
commit
08f21ca4b2
@ -291,6 +291,7 @@
|
|||||||
8498E53C2D27A766009F5438 /* PBXFileSystemSynchronizedBuildFileExceptionSet */ = {
|
8498E53C2D27A766009F5438 /* PBXFileSystemSynchronizedBuildFileExceptionSet */ = {
|
||||||
isa = PBXFileSystemSynchronizedBuildFileExceptionSet;
|
isa = PBXFileSystemSynchronizedBuildFileExceptionSet;
|
||||||
membershipExceptions = (
|
membershipExceptions = (
|
||||||
|
/Localized/MainWindow/Main.storyboard,
|
||||||
/Localized/ShareExtension/MainInterface.storyboard,
|
/Localized/ShareExtension/MainInterface.storyboard,
|
||||||
IntentsExtension/Info.plist,
|
IntentsExtension/Info.plist,
|
||||||
IntentsExtension/IntentHandler.swift,
|
IntentsExtension/IntentHandler.swift,
|
||||||
|
@ -82,12 +82,7 @@ final class AppDelegate: UIResponder, UIApplicationDelegate, UNUserNotificationC
|
|||||||
self.window = window
|
self.window = window
|
||||||
|
|
||||||
// Create UI and add it to window.
|
// Create UI and add it to window.
|
||||||
let storyboard = UIStoryboard(name: "Main", bundle: nil)
|
let rootSplitViewController = RootSplitViewController()
|
||||||
let rootSplitViewController = storyboard.instantiateInitialViewController() as! RootSplitViewController
|
|
||||||
rootSplitViewController.presentsWithGesture = true
|
|
||||||
rootSplitViewController.showsSecondaryOnlyButton = true
|
|
||||||
rootSplitViewController.preferredDisplayMode = .oneBesideSecondary
|
|
||||||
|
|
||||||
coordinator = SceneCoordinator(rootSplitViewController: rootSplitViewController)
|
coordinator = SceneCoordinator(rootSplitViewController: rootSplitViewController)
|
||||||
rootSplitViewController.coordinator = coordinator
|
rootSplitViewController.coordinator = coordinator
|
||||||
rootSplitViewController.delegate = coordinator
|
rootSplitViewController.delegate = coordinator
|
||||||
|
@ -11,7 +11,34 @@ import Account
|
|||||||
|
|
||||||
final class RootSplitViewController: UISplitViewController {
|
final class RootSplitViewController: UISplitViewController {
|
||||||
|
|
||||||
var coordinator: SceneCoordinator!
|
var coordinator: SceneCoordinator! {
|
||||||
|
didSet {
|
||||||
|
sidebarViewController.coordinator = coordinator
|
||||||
|
timelineViewController.coordinator = coordinator
|
||||||
|
articleViewController.coordinator = coordinator
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private lazy var sidebarViewController = MainFeedViewController()
|
||||||
|
private lazy var timelineViewController = TimelineViewController()
|
||||||
|
private lazy var articleViewController = ArticleViewController()
|
||||||
|
|
||||||
|
init() {
|
||||||
|
super.init(style: .tripleColumn)
|
||||||
|
|
||||||
|
setViewController(self.sidebarViewController, for: .primary)
|
||||||
|
setViewController(self.timelineViewController, for: .supplementary)
|
||||||
|
setViewController(self.articleViewController, for: .secondary)
|
||||||
|
|
||||||
|
self.showsSecondaryOnlyButton = true
|
||||||
|
self.preferredDisplayMode = .oneBesideSecondary
|
||||||
|
self.preferredSplitBehavior = .displace
|
||||||
|
self.primaryBackgroundStyle = .sidebar
|
||||||
|
}
|
||||||
|
|
||||||
|
required init?(coder: NSCoder) {
|
||||||
|
fatalError("init(coder:) has not been implemented")
|
||||||
|
}
|
||||||
|
|
||||||
override var prefersStatusBarHidden: Bool {
|
override var prefersStatusBarHidden: Bool {
|
||||||
return coordinator.prefersStatusBarHidden
|
return coordinator.prefersStatusBarHidden
|
||||||
|
Loading…
x
Reference in New Issue
Block a user