Archived
1
Fork 0

Remove NSToolbar support

This commit is contained in:
redstrate 2020-05-24 23:14:51 -04:00
parent 59bc93fb8e
commit 90e2ba2545
3 changed files with 5 additions and 120 deletions

View file

@ -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

View file

@ -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

View file

@ -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 }
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
if let titlebar = windowScene.titlebar {
titlebar.titleVisibility = .hidden
titlebar.toolbar = nil
}
#endif
}