|
|
|
@ -6,12 +6,6 @@ |
|
|
|
// Copyright (c) 2015 Marco Schmickler. All rights reserved. |
|
|
|
// |
|
|
|
|
|
|
|
import UIKit |
|
|
|
import Alamofire |
|
|
|
import FileBrowser |
|
|
|
import AVFoundation |
|
|
|
import ZIPFoundation |
|
|
|
import SwiftUI |
|
|
|
import UIKit |
|
|
|
import Alamofire |
|
|
|
import FileBrowser |
|
|
|
@ -35,6 +29,7 @@ class DetailViewController: UIViewController, UICollectionViewDelegateFlowLayout |
|
|
|
|
|
|
|
var showFavoritesOnly = false |
|
|
|
var collectionView: UICollectionView! |
|
|
|
private var lastCollectionViewSize: CGSize = .zero |
|
|
|
|
|
|
|
var currentItem: MediaItem? |
|
|
|
|
|
|
|
@ -73,7 +68,7 @@ class DetailViewController: UIViewController, UICollectionViewDelegateFlowLayout |
|
|
|
|
|
|
|
layout.itemSize = defaultItemSize |
|
|
|
layout.headerReferenceSize = CGSize(width: 50, height: 50) |
|
|
|
collectionView = UICollectionView(frame: view.frame, collectionViewLayout: layout) |
|
|
|
collectionView = UICollectionView(frame: .zero, collectionViewLayout: layout) |
|
|
|
|
|
|
|
collectionView.dataSource = self |
|
|
|
collectionView.delegate = self |
|
|
|
@ -84,8 +79,13 @@ class DetailViewController: UIViewController, UICollectionViewDelegateFlowLayout |
|
|
|
collectionView.dragDelegate = self |
|
|
|
|
|
|
|
view.addSubview(collectionView) |
|
|
|
view.autoresizesSubviews = true |
|
|
|
collectionView.autoresizingMask = [UIView.AutoresizingMask.flexibleWidth, UIView.AutoresizingMask.flexibleHeight] |
|
|
|
collectionView.translatesAutoresizingMaskIntoConstraints = false |
|
|
|
NSLayoutConstraint.activate([ |
|
|
|
collectionView.leadingAnchor.constraint(equalTo: view.safeAreaLayoutGuide.leadingAnchor), |
|
|
|
collectionView.trailingAnchor.constraint(equalTo: view.safeAreaLayoutGuide.trailingAnchor), |
|
|
|
collectionView.topAnchor.constraint(equalTo: view.safeAreaLayoutGuide.topAnchor), |
|
|
|
collectionView.bottomAnchor.constraint(equalTo: view.safeAreaLayoutGuide.bottomAnchor) |
|
|
|
]) |
|
|
|
// Do any additional setup after loading the view, typically from a nib. |
|
|
|
|
|
|
|
collectionView.reloadData() |
|
|
|
@ -112,6 +112,14 @@ class DetailViewController: UIViewController, UICollectionViewDelegateFlowLayout |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
override func viewDidLayoutSubviews() { |
|
|
|
super.viewDidLayoutSubviews() |
|
|
|
|
|
|
|
guard collectionView.bounds.size != lastCollectionViewSize else { return } |
|
|
|
lastCollectionViewSize = collectionView.bounds.size |
|
|
|
collectionView.collectionViewLayout.invalidateLayout() |
|
|
|
} |
|
|
|
|
|
|
|
@objc func switchMode() { |
|
|
|
mode = !mode |
|
|
|
if let b = modeButton { |
|
|
|
@ -452,4 +460,3 @@ class DetailViewController: UIViewController, UICollectionViewDelegateFlowLayout |
|
|
|
collectionView.reloadData() |
|
|
|
} |
|
|
|
} |
|
|
|
|