@@ -12,13 +12,18 @@ import TrySwiftData
1212class OrganizersTableViewController : UITableViewController {
1313
1414 fileprivate let organizers = Conference . current. organizers
15+ fileprivate var forceTouchedOrganizer : Organizer ?
1516
1617 override func viewDidLoad( ) {
1718 super. viewDidLoad ( )
1819 edgesForExtendedLayout = [ ]
1920
2021 title = " Organizers " . localized ( )
2122 configureTableView ( )
23+
24+ if traitCollection. forceTouchCapability == . available {
25+ registerForPreviewing ( with: self , sourceView: tableView)
26+ }
2227 }
2328}
2429
@@ -48,6 +53,22 @@ extension OrganizersTableViewController {
4853 }
4954}
5055
56+ extension OrganizersTableViewController : UIViewControllerPreviewingDelegate {
57+
58+ func previewingContext( _ previewingContext: UIViewControllerPreviewing , viewControllerForLocation location: CGPoint ) -> UIViewController ? {
59+ guard let indexPath = tableView. indexPathForRow ( at: location) else { return nil }
60+ //This will show the cell clearly and blur the rest of the screen for our peek.
61+ previewingContext. sourceRect = tableView. rectForRow ( at: indexPath)
62+ let organizer = organizers [ indexPath. row]
63+ forceTouchedOrganizer = organizer
64+ return OrganizerDetailTableViewController ( organizer: organizer)
65+ }
66+
67+ func previewingContext( _ previewingContext: UIViewControllerPreviewing , commit viewControllerToCommit: UIViewController ) {
68+ self . navigationController? . pushViewController ( viewControllerToCommit, animated: true )
69+ }
70+ }
71+
5172fileprivate extension OrganizersTableViewController {
5273
5374 func configureTableView( ) {
0 commit comments