LNPreviewToContextMenu
is a framework for automatically transforming your existing 3D Touch Peek&Pop preview controllers and actions into the new UIContextMenu
system in iOS 13.
With this framework, your existing 3D Touch Peek&Pop previewing code will automagically display in the new UIContextMenu
system under iOS 13 and above.
- Supports storyboard and code-based previewing
- Optionally, supports adding images to your existing preview action items to display as menu item images
- Adds support for devices without 3D Touch (including iPhone 11 and iPads)
- Mac Catalyst support (your preview actions are displayed as context menus)
Swift Package Manager is the recommended way to integrate LNPreviewToContextMenu
in your project.
LNPreviewToContextMenu
supports SPM versions 5.1.0 and above. To use SPM, you should use Xcode 11 to open your project. Click File
-> Swift Packages
-> Add Package Dependency
, enter https://github.com/LeoNatan/LNPreviewToContextMenu
. Select the version you’d like to use.
You can also manually add the package to your Package.swift
file:
.package(url: "https://github.com/LeoNatan/LNPreviewToContextMenu.git", from: "1.0")
And the dependency in your target:
.target(name: "BestExampleApp", dependencies: ["LNPreviewToContextMenu"]),
Add the following to your Cartfile:
github "LeoNatan/LNPreviewToContextMenu"
Make sure you follow the Carthage integration instructions here.
Drag the LNPreviewToContextMenu.xcodeproj
project to your project, and add LNPreviewToContextMenu.framework
to Frameworks, Libraries, and Embedded Content in your project target's General tab. Xcode should sort everything else on its own.
Check out the included example project to see how it is integrated with the framework.
CocoaPods is not supported. There are many reasons for this. Instead of CocoaPods, use Swift Package Manager. You can continue using CocoaPods for for your other dependencies and Swift Package Manager for LNPreviewToContextMenu
.
Just link your project with the framework, and the magic will happen automatically.
Optionally, import <LNPreviewToContextMenu/UIPreviewAction+Images.h>
to add support for images to your preview action items.