More context menus
This commit is contained in:
parent
736e8283e1
commit
a1cf4a5789
|
@ -210,4 +210,23 @@ extension HomeViewController: UICollectionViewDelegate {
|
|||
vc.title = item.title
|
||||
show(vc, sender: nil)
|
||||
}
|
||||
|
||||
func collectionView(_ collectionView: UICollectionView, contextMenuConfigurationForItemAt indexPath: IndexPath, point: CGPoint) -> UIContextMenuConfiguration? {
|
||||
guard let item = dataSource.itemIdentifier(for: indexPath) else {
|
||||
return nil
|
||||
}
|
||||
return UIContextMenuConfiguration(identifier: nil, previewProvider: {
|
||||
return ItemsViewController(fetchRequest: item.fetchRequest, fervorController: self.fervorController)
|
||||
}, actionProvider: nil)
|
||||
}
|
||||
|
||||
func collectionView(_ collectionView: UICollectionView, willPerformPreviewActionForMenuWith configuration: UIContextMenuConfiguration, animator: UIContextMenuInteractionCommitAnimating) {
|
||||
guard let vc = animator.previewViewController else {
|
||||
return
|
||||
}
|
||||
animator.preferredCommitStyle = .pop
|
||||
animator.addCompletion {
|
||||
self.show(vc, sender: nil)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -35,6 +35,7 @@ class ItemsViewController: UIViewController {
|
|||
configuration.backgroundColor = .appBackground
|
||||
let layout = UICollectionViewCompositionalLayout.list(using: configuration)
|
||||
collectionView = UICollectionView(frame: view.bounds, collectionViewLayout: layout)
|
||||
collectionView.delegate = self
|
||||
collectionView.autoresizingMask = [.flexibleWidth, .flexibleHeight]
|
||||
collectionView.register(ItemCollectionViewCell.self, forCellWithReuseIdentifier: "itemCell")
|
||||
view.addSubview(collectionView)
|
||||
|
@ -80,6 +81,27 @@ extension ItemsViewController: NSFetchedResultsControllerDelegate {
|
|||
}
|
||||
}
|
||||
|
||||
extension ItemsViewController: UICollectionViewDelegate {
|
||||
func collectionView(_ collectionView: UICollectionView, contextMenuConfigurationForItemAt indexPath: IndexPath, point: CGPoint) -> UIContextMenuConfiguration? {
|
||||
guard let item = dataSource.itemIdentifier(for: indexPath) else {
|
||||
return nil
|
||||
}
|
||||
return UIContextMenuConfiguration(identifier: nil, previewProvider: {
|
||||
ReadViewController(item: item, fervorController: self.fervorController)
|
||||
}, actionProvider: nil)
|
||||
}
|
||||
|
||||
func collectionView(_ collectionView: UICollectionView, willPerformPreviewActionForMenuWith configuration: UIContextMenuConfiguration, animator: UIContextMenuInteractionCommitAnimating) {
|
||||
guard let vc = animator.previewViewController else {
|
||||
return
|
||||
}
|
||||
animator.preferredCommitStyle = .pop
|
||||
animator.addCompletion {
|
||||
self.show(vc, sender: nil)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
extension ItemsViewController: ItemCollectionViewCellDelegate {
|
||||
func itemCellSelected(item: Item) {
|
||||
show(ReadViewController(item: item, fervorController: fervorController), sender: nil)
|
||||
|
|
Loading…
Reference in New Issue