From 37776a1cf62539e23b35af529cb48d806b7134b0 Mon Sep 17 00:00:00 2001 From: marcoschmickler Date: Sun, 14 Jun 2026 14:32:03 +0200 Subject: [PATCH] modernize scene --- kplayer/detail/DetailViewController.swift | 27 ++++++++++++++--------- 1 file changed, 17 insertions(+), 10 deletions(-) diff --git a/kplayer/detail/DetailViewController.swift b/kplayer/detail/DetailViewController.swift index 0aa2ced..f795a10 100644 --- a/kplayer/detail/DetailViewController.swift +++ b/kplayer/detail/DetailViewController.swift @@ -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() } } -