From ee186e733093a7a122a65982ef04c5daedaefce9 Mon Sep 17 00:00:00 2001 From: Laurent Date: Fri, 17 Feb 2023 15:25:14 +0100 Subject: [PATCH] number of columns for ipad --- LeCountdown/Views/ContentView.swift | 31 +++++++++++++++++++++-------- LeCountdown/Views/HomeView.swift | 4 ++-- LeCountdown/Views/PresetsView.swift | 6 +----- 3 files changed, 26 insertions(+), 15 deletions(-) diff --git a/LeCountdown/Views/ContentView.swift b/LeCountdown/Views/ContentView.swift index c2dfc30..eadd35b 100644 --- a/LeCountdown/Views/ContentView.swift +++ b/LeCountdown/Views/ContentView.swift @@ -8,7 +8,7 @@ import SwiftUI import CoreData import Combine -import CloudKit +//import CloudKit class BoringContext : ObservableObject { @@ -55,7 +55,9 @@ struct ContentView: View { @Environment(\.managedObjectContext) private var viewContext -// @StateObject fileprivate var model: TimersModel = TimersModel() + #if os(iOS) + @Environment(\.horizontalSizeClass) private var horizontalSizeClass + #endif @FetchRequest( sortDescriptors: [NSSortDescriptor(keyPath: \T.order, ascending: true)], @@ -69,15 +71,12 @@ struct ContentView: View { fileprivate let itemSpacing: CGFloat = 10.0 - private let columns: [GridItem] = [ - GridItem(spacing: 10.0), - GridItem(spacing: 10.0), - ] - var body: some View { + let columns: [GridItem] = self._columns() + GeometryReader { reader in - let width: CGFloat = reader.size.width / 2 - 15.0 + let width: CGFloat = reader.size.width / CGFloat(columns.count) - 15.0 VStack { @@ -188,6 +187,22 @@ struct ContentView: View { } + fileprivate func _columnCount() -> Int { + #if os(iOS) + if horizontalSizeClass == .compact { + return 2 + } else { + return 3 + } + #else + return 3 + #endif + } + + fileprivate func _columns() -> [GridItem] { + return (0.. - private let columns: [GridItem] = [ - GridItem(spacing: 10.0), - GridItem(spacing: 10.0), - ] - fileprivate func _columnCount() -> Int { #if os(iOS) if horizontalSizeClass == .compact {