Skip to content

Instantly share code, notes, and snippets.

View meyusufdemirci's full-sized avatar

Yusuf Demirci meyusufdemirci

View GitHub Profile
@meyusufdemirci
meyusufdemirci / LPMetadataProvider.swift
Created July 4, 2023 13:58
Fetch image metadata from URL, such as Youtube video cover image
let url: URL
let metadataProvider: LPMetadataProvider = .init()
metadataProvider.startFetchingMetadata(for: url) { metadata, error in
if let error = error {
print(error)
return
}
@meyusufdemirci
meyusufdemirci / ViewThatFits.swift
Created June 10, 2022 09:31
What is New in SwiftUI, WWDC 22 Article
var body: some View {
ViewThatFits {
Text("Hello, I am the longer text and most probably I will be visible only in the landscape mode")
.frame(width: 700, height: 300)
Text("Hello, I am the shorter text")
.frame(width: 300, height: 100)
}
}
@meyusufdemirci
meyusufdemirci / SwiftChars.swift
Last active June 10, 2022 09:14
What is New in SwiftUI, WWDC 22 Article
let chartData: [KeyValue] = [
.init(key: "A", value: 5),
.init(key: "B", value: 10),
.init(key: "C", value: 15)
]
var body: some View {
Chart(chartData) {
BarMark(x: .value("Key", $0.key),
y: .value("Value", $0.value))
@meyusufdemirci
meyusufdemirci / CustomLayout.swift
Created June 9, 2022 09:10
What is New in SwiftUI, WWDC 22 Article
@State var changeLayout: Bool = false
var body: some View {
let layout = changeLayout ? AnyLayout(HStack()) : AnyLayout(VStack())
VStack {
layout {
Text("First")
Text("Second")
}
@meyusufdemirci
meyusufdemirci / ShapeStyleExtensions.swift
Last active June 9, 2022 21:48
What is New in SwiftUI, WWDC 22 Article
var body: some View {
VStack {
VStack {
Image(systemName: "person")
}
.background(in: Circle().inset(by: -20))
.backgroundStyle(.orange.gradient)
.foregroundStyle(.white.shadow(.drop(radius: 1)))
VStack {
@meyusufdemirci
meyusufdemirci / PhotosPicker.swift
Created June 9, 2022 07:52
What is New in SwiftUI, WWDC 22 Article
@State var selectedPhotos: [PhotosPickerItem] = []
var body: some View {
PhotosPicker(selection: $selectedPhotos) {
Text("Choose photos")
}
}
@meyusufdemirci
meyusufdemirci / MixedStateToggle.swift
Last active June 9, 2022 21:23
What is New in SwiftUI, WWDC 22 Article
@State var profileNotificationsIsOn: Bool = false
@State var campaignNotificationsIsOn: Bool = false
@State var emailNotificationsIsOn: Bool = false
var body: some View {
DisclosureGroup {
Toggle("Profile Notifications", isOn: $profileNotificationsIsOn)
Toggle("Campaign Notifications", isOn: $campaignNotificationsIsOn)
Toggle("E-Mail Notifications", isOn: $emailNotificationsIsOn)
} label: {
@meyusufdemirci
meyusufdemirci / MultiDatePicker.swift
Created June 8, 2022 21:11
What is New in SwiftUI, WWDC 22 Article
@State var selectedDates: Set<DateComponents> = []
var body: some View {
MultiDatePicker("Dates", selection: $selectedDates)
}
@meyusufdemirci
meyusufdemirci / MultilineTextField.swift
Last active June 9, 2022 09:15
What is New in SwiftUI, WWDC 22 Article
@State var textFieldText: String = ""
var body: some View {
TextField("I am just a text field", text: $textFieldText, axis: .vertical)
.lineLimit(...2)
}
@meyusufdemirci
meyusufdemirci / HalfSheet.swift
Last active June 9, 2022 09:14
What is New in SwiftUI, WWDC 22 Article
@State var isPresentedHalfSheet: Bool = false
var body: some View {
Button {
self.isPresentedHalfSheet.toggle()
} label: {
Text("Present half sheet")
}
.sheet(isPresented: $isPresentedHalfSheet) {
HalfSheetView()