I am trying to present the PhotosPicker in "half size" with the .presentationDetents([.medium, .large]) approach, but I cant get it to work.
Any working example would be greatly appreciated.
I am trying to present the PhotosPicker in "half size" with the .presentationDetents([.medium, .large]) approach, but I cant get it to work.
Any working example would be greatly appreciated.
UPDATE : Here is a code example with PhotosPicker not appearing in "half size" AND working "half size" sheet presentation
import SwiftUI
import PhotosUI
struct ContentView: View {
@State private var showingCredits = false
@State private var selectedItem: PhotosPickerItem? = nil
@State private var selectedImageData: Data? = nil
var body: some View {
VStack {
PhotosPicker(
selection: $selectedItem,
matching: .images,
photoLibrary: .shared()) {
Text("Open PhotosPicker")
.presentationDetents([.medium, .large])
}
.onChange(of: selectedItem) { newItem in
Task {
// Retrieve selected asset in the form of Data
if let data = try? await newItem?.loadTransferable(type: Data.self)
{
selectedImageData = data
}
}
}
if let selectedImageData,
let uiImage = UIImage(data: selectedImageData) {
Image(uiImage: uiImage)
.resizable()
.scaledToFit()
.frame(width: 250, height: 250)
}
Divider()
Button("Open sheet in half screen") {
showingCredits.toggle()
}
.sheet(isPresented: $showingCredits) {
Text("Hello there!")
.presentationDetents([.medium, .large])
}
}
}
}
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView()
}
}