JustPeek is an iOS Library that adds support for Force Touch-like Peek and Pop interactions on devices that do not natively support this kind of interaction. Under the hood it uses the native implementation if available, otherwise a custom implementation based on UILongPressGestureRecognizer
.
Swift 3.2 = Version 0.3.1
Swift 4 = Version 1.0.0
// In a UITableViewController
import JustPeek
...
var peekController: PeekController?
// MARK: View Lifecycle
override func viewDidLoad() {
super.viewDidLoad()
peekController = PeekController()
peekController?.register(viewController: self, forPeekingWithDelegate: self, sourceView: tableView)
}
// MARK: PeekingDelegate
func peekContext(_ context: PeekContext, viewControllerForPeekingAt location: CGPoint) -> UIViewController? {
let viewController = storyboard?.instantiateViewController(withIdentifier: "ViewController")
if let viewController = viewController, let indexPath = tableView.indexPathForRow(at: location) {
configureViewController(viewController, withItemAtIndexPath: indexPath)
if let cell = tableView.cellForRow(at: indexPath) {
context.sourceRect = cell.frame
}
return viewController
}
return nil
}
func peekContext(_ context: PeekContext, commit viewController: UIViewController) {
show(viewController, sender: self)
}
To run the example project, clone the repo, and run pod install
from the Example directory first.
JustPeek is available through CocoaPods. To install it, simply add the following line to your Podfile:
pod "JustPeek"
JustPeek is available under the Apache License, Version 2.0. See the LICENSE file for more info.