Remove NSToolbar support
This commit is contained in:
parent
59bc93fb8e
commit
90e2ba2545
3 changed files with 5 additions and 120 deletions
|
@ -113,49 +113,3 @@ class HomeViewController: UIViewController, UIDocumentPickerDelegate {
|
|||
return super.shouldPerformSegue(withIdentifier: identifier, sender: sender)
|
||||
}
|
||||
}
|
||||
|
||||
#if targetEnvironment(macCatalyst)
|
||||
private let OurButtonToolbarIdentifier = NSToolbarItem.Identifier(rawValue: "OurButton")
|
||||
private let OurButtonToolbarIdentifier2 = NSToolbarItem.Identifier(rawValue: "OurButton2")
|
||||
private let TitlebarToolbarIdentifier = NSToolbarItem.Identifier(rawValue: "Titlebar")
|
||||
|
||||
extension HomeViewController: NSToolbarDelegate {
|
||||
@objc func searchAction() {
|
||||
if(navigationController?.topViewController != self) {
|
||||
navigationController?.popViewController(animated: true)
|
||||
} else {
|
||||
performSegue(withIdentifier: "search", sender: nil)
|
||||
}
|
||||
}
|
||||
|
||||
func toolbarDefaultItemIdentifiers(_ toolbar: NSToolbar) -> [NSToolbarItem.Identifier] {
|
||||
return [OurButtonToolbarIdentifier2, NSToolbarItem.Identifier.flexibleSpace, OurButtonToolbarIdentifier]
|
||||
}
|
||||
|
||||
func toolbarAllowedItemIdentifiers(_ toolbar: NSToolbar) -> [NSToolbarItem.Identifier] {
|
||||
return toolbarDefaultItemIdentifiers(toolbar)
|
||||
}
|
||||
|
||||
func toolbar(_ toolbar: NSToolbar, itemForItemIdentifier itemIdentifier: NSToolbarItem.Identifier, willBeInsertedIntoToolbar flag: Bool) -> NSToolbarItem? {
|
||||
if (itemIdentifier == OurButtonToolbarIdentifier2) {
|
||||
let barButtonItem = UIBarButtonItem(barButtonSystemItem: UIBarButtonItem.SystemItem.add,
|
||||
target: self,
|
||||
action: #selector(self.importAction))
|
||||
let button = NSToolbarItem(itemIdentifier: itemIdentifier, barButtonItem: barButtonItem)
|
||||
button.label = "Add";
|
||||
|
||||
return button
|
||||
}
|
||||
|
||||
if (itemIdentifier == OurButtonToolbarIdentifier) {
|
||||
let barButtonItem = UIBarButtonItem(barButtonSystemItem: UIBarButtonItem.SystemItem.search,
|
||||
target: self,
|
||||
action: #selector(self.searchAction))
|
||||
let button = NSToolbarItem(itemIdentifier: itemIdentifier, barButtonItem: barButtonItem)
|
||||
button.label = "Search";
|
||||
return button
|
||||
}
|
||||
return nil
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
|
|
@ -132,66 +132,3 @@ extension PostDetailViewController {
|
|||
return storyboard.instantiateViewController(withIdentifier: "PostViewController") as? PostDetailViewController
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
#if targetEnvironment(macCatalyst)
|
||||
|
||||
private let EditButtonToolbarIdentifier = NSToolbarItem.Identifier(rawValue: "OurButton")
|
||||
private let ShareButtonToolbarIdentifier = NSToolbarItem.Identifier(rawValue: "OurButton2")
|
||||
private let InfoButtonToolbarIdentifier = NSToolbarItem.Identifier(rawValue: "OurButton3")
|
||||
|
||||
extension PostDetailViewController: NSToolbarDelegate {
|
||||
@objc func editTagsAction() {
|
||||
if(navigationController?.topViewController != self) {
|
||||
navigationController?.popViewController(animated: true)
|
||||
} else {
|
||||
performSegue(withIdentifier: "showTags", sender: nil)
|
||||
}
|
||||
}
|
||||
|
||||
@objc func infoAction() {
|
||||
if(navigationController?.topViewController != self) {
|
||||
navigationController?.popViewController(animated: true)
|
||||
} else {
|
||||
performSegue(withIdentifier: "showInfo", sender: nil)
|
||||
}
|
||||
}
|
||||
|
||||
func toolbarDefaultItemIdentifiers(_ toolbar: NSToolbar) -> [NSToolbarItem.Identifier] {
|
||||
return [NSToolbarItem.Identifier.flexibleSpace, InfoButtonToolbarIdentifier, EditButtonToolbarIdentifier, ShareButtonToolbarIdentifier]
|
||||
}
|
||||
|
||||
func toolbarAllowedItemIdentifiers(_ toolbar: NSToolbar) -> [NSToolbarItem.Identifier] {
|
||||
return toolbarDefaultItemIdentifiers(toolbar)
|
||||
}
|
||||
|
||||
func toolbar(_ toolbar: NSToolbar, itemForItemIdentifier itemIdentifier: NSToolbarItem.Identifier, willBeInsertedIntoToolbar flag: Bool) -> NSToolbarItem? {
|
||||
if (itemIdentifier == InfoButtonToolbarIdentifier) {
|
||||
let barButtonItem = UIBarButtonItem(barButtonSystemItem: UIBarButtonItem.SystemItem.camera,
|
||||
target: self,
|
||||
action: #selector(self.infoAction))
|
||||
let button = NSToolbarItem(itemIdentifier: itemIdentifier, barButtonItem: barButtonItem)
|
||||
return button
|
||||
}
|
||||
|
||||
if (itemIdentifier == EditButtonToolbarIdentifier) {
|
||||
let barButtonItem = UIBarButtonItem(barButtonSystemItem: UIBarButtonItem.SystemItem.edit,
|
||||
target: self,
|
||||
action: #selector(self.editTagsAction))
|
||||
let button = NSToolbarItem(itemIdentifier: itemIdentifier, barButtonItem: barButtonItem)
|
||||
return button
|
||||
}
|
||||
|
||||
if (itemIdentifier == ShareButtonToolbarIdentifier) {
|
||||
let barButtonItem = UIBarButtonItem(barButtonSystemItem: UIBarButtonItem.SystemItem.action,
|
||||
target: self,
|
||||
action: #selector(self.shareAction))
|
||||
let button = NSToolbarItem(itemIdentifier: itemIdentifier, barButtonItem: barButtonItem)
|
||||
return button
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
||||
|
|
|
@ -12,18 +12,12 @@ class SceneDelegate: UIResponder, UIWindowSceneDelegate {
|
|||
}
|
||||
|
||||
#if targetEnvironment(macCatalyst)
|
||||
guard let windowScene = (scene as? UIWindowScene) else {
|
||||
return
|
||||
guard let windowScene = (scene as? UIWindowScene) else { return }
|
||||
|
||||
if let titlebar = windowScene.titlebar {
|
||||
titlebar.titleVisibility = .hidden
|
||||
titlebar.toolbar = nil
|
||||
}
|
||||
|
||||
let toolbar = NSToolbar(identifier: "Toolbar")
|
||||
toolbar.delegate = (window?.rootViewController as! UINavigationController).topViewController as? NSToolbarDelegate
|
||||
toolbar.allowsUserCustomization = true
|
||||
|
||||
windowScene.titlebar!.toolbar = toolbar
|
||||
windowScene.titlebar!.titleVisibility = .visible
|
||||
|
||||
(window?.rootViewController as! UINavigationController).navigationBar.isHidden = true
|
||||
#endif
|
||||
}
|
||||
|
||||
|
|
Reference in a new issue