diff --git a/Context Menus.xcodeproj/project.xcworkspace/xcuserdata/orihpt.xcuserdatad/UserInterfaceState.xcuserstate b/Context Menus.xcodeproj/project.xcworkspace/xcuserdata/orihpt.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100644 index 0000000..cd33468 Binary files /dev/null and b/Context Menus.xcodeproj/project.xcworkspace/xcuserdata/orihpt.xcuserdatad/UserInterfaceState.xcuserstate differ diff --git a/Context Menus.xcodeproj/xcuserdata/orihpt.xcuserdatad/xcschemes/xcschememanagement.plist b/Context Menus.xcodeproj/xcuserdata/orihpt.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100644 index 0000000..298ea97 --- /dev/null +++ b/Context Menus.xcodeproj/xcuserdata/orihpt.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,14 @@ + + + + + SchemeUserState + + Context Menus.xcscheme_^#shared#^_ + + orderHint + 0 + + + + diff --git a/Context Menus/CollectionViewController.swift b/Context Menus/CollectionViewController.swift index f565236..4f955e9 100644 --- a/Context Menus/CollectionViewController.swift +++ b/Context Menus/CollectionViewController.swift @@ -36,13 +36,13 @@ class CollectionViewController: UICollectionViewController { // MARK: -UICollectionViewDelegate override func collectionView(_ collectionView: UICollectionView, contextMenuConfigurationForItemAt indexPath: IndexPath, point: CGPoint) -> UIContextMenuConfiguration? { - let configuration = UIContextMenuConfiguration(identifier: nil, previewProvider: nil) { actions -> UIMenu? in - let action = UIAction(__title: "Archive", image: UIImage(systemName: "archivebox.fill"), options: .destructive) { action in + let configuration = UIContextMenuConfiguration(identifier: nil, previewProvider: nil) { actions -> UIMenu? in + let action = UIAction(title: "Archive", image: UIImage(systemName: "archivebox.fill"), identifier: UIAction.Identifier(rawValue: "archive")) { action in let alert = UIAlertController(title: action.title, message: nil, preferredStyle: .alert) alert.addAction(.init(title: "OK", style: .cancel, handler: nil)) self.present(alert, animated: true, completion: nil) } - return UIMenu.create(title: "Menu", children: [action]) + return UIMenu(title: "Menu", children: [action]) } return configuration } diff --git a/Context Menus/SingleViewController.swift b/Context Menus/SingleViewController.swift index 5adc543..29d4953 100644 --- a/Context Menus/SingleViewController.swift +++ b/Context Menus/SingleViewController.swift @@ -41,26 +41,26 @@ class SingleViewController: UIViewController { extension SingleViewController: UIContextMenuInteractionDelegate { func contextMenuInteraction(_ interaction: UIContextMenuInteraction, configurationForMenuAtLocation location: CGPoint) -> UIContextMenuConfiguration? { - let configuration = UIContextMenuConfiguration(identifier: nil, previewProvider: nil) { actions -> UIMenu? in + let configuration = UIContextMenuConfiguration(identifier: nil, previewProvider: nil) { actions -> UIMenu? in // Creating Save button - let save = UIAction(__title: "Save", image: UIImage(systemName: "tray.and.arrow.down.fill"), options: []) { action in + let save = UIAction(title: "Save", image: UIImage(systemName: "tray.and.arrow.down.fill"), identifier: .init("save")) { action in // Just showing some alert self.showAlert(title: action.title) } // Creating Rotate button - let rotate = UIAction(__title: "Rotate", image: UIImage(systemName: "arrow.counterclockwise"), options: []) { action in + let rotate = UIAction(title: "Rotate", image: UIImage(systemName: "arrow.counterclockwise"), identifier: UIAction.Identifier(rawValue: "rotate")) { action in self.showAlert(title: action.title) } // Creating Delete button - let delete = UIAction(__title: "Delete", image: UIImage(systemName: "trash.fill"), options: .destructive) { action in + let delete = UIAction(title: "Delete", image: UIImage(systemName: "trash.fill"), identifier: UIAction.Identifier(rawValue: "delete")) { action in self.showAlert(title: action.title) } // Creating Edit, which will open Submenu - let edit = UIMenu.create(title: "Edit...", children: [rotate, delete]) - + let edit = UIMenu(title: "Edit...", children: [rotate, delete]) + // Creating main context menu - return UIMenu.create(title: "Menu", children: [save, edit]) + return UIMenu(title: "Menu", children: [save, edit]) } return configuration } diff --git a/Context Menus/TableViewController.swift b/Context Menus/TableViewController.swift index 970aa93..2149f91 100644 --- a/Context Menus/TableViewController.swift +++ b/Context Menus/TableViewController.swift @@ -49,20 +49,15 @@ class TableViewController: UITableViewController { override func tableView(_ tableView: UITableView, contextMenuConfigurationForRowAt indexPath: IndexPath, point: CGPoint) -> UIContextMenuConfiguration? { let configuration = UIContextMenuConfiguration(identifier: nil, previewProvider: { () -> UIViewController? in return PreviewViewController.controller() - }) { _ -> UIMenu? in - let action = UIAction(__title: "Custom action", image: nil, options: []) { action in + }) { _ -> UIMenu? in + let action = UIAction(title: "Custom action", image: nil, identifier: UIAction.Identifier(rawValue: "custom identifier")) { action in self.showAlert(title: action.title) } - return UIMenu.create(title: "Menu", children: [action]) + return UIMenu(title: "Menu", children: [action]) } return configuration } - override func tableView(_ tableView: UITableView, willCommitMenuWithAnimator animator: UIContextMenuInteractionCommitAnimating) { - animator.addCompletion { - self.showAlert(title: "Row preview tapped") - } - } }