Skip to content

Instantly share code, notes, and snippets.

@MarcoEidinger
MarcoEidinger / findRequiredReasonAPIUsage.sh
Created August 21, 2023 19:55
A shell script to find if any "required reason API" are used in Swift or Objective-C files within that folder or subfolders
#!/bin/bash
# https://developer.apple.com/documentation/bundleresources/privacy_manifest_files/describing_use_of_required_reason_api
searchTerms=(
# File timestamp APIs
"creationDate"
"modificationDate"
"fileModificationDate"
"contentModificationDateKey"
"creationDateKey"
@JRR-OSU
JRR-OSU / CrossFadeAndFlipExample.swift
Last active August 11, 2023 08:27
SwiftUI Crossfade and Flip Shader Example
import SwiftUI
struct DemoView: View {
@State var effectValue: Double
let end = 2.75
init() {
self._effectValue = State(initialValue: end)
@lukepistrol
lukepistrol / TaskTrigger.swift
Last active November 19, 2023 19:32
Attach async tasks to SwiftUI views using a trigger mechanism.
import SwiftUI
struct TaskTrigger<T: Equatable>: Equatable {
fileprivate enum TaskState<S: Equatable>: Equatable {
case inactive
case active(value: S, uniqueId: UUID? = nil)
}
fileprivate var state: TaskState<T> = .inactive
@dkun7944
dkun7944 / ContentView.swift
Created July 31, 2023 03:36
AirDrop iOS 17 Swift.Shader Animation
//
// ContentView.swift
// Airdrop Demo
//
// Created by Daniel Kuntz on 7/30/23.
//
import SwiftUI
struct ContentView: View {
import SwiftUI
// https://gist.github.com/Koshimizu-Takehito/93c5891e89d65eadf2164351ca1f2d76
typealias ChartElement = (name: String, count: Int, color: Color)
struct AnimatedDonutChart: View {
@State private var progress: Double = 0
let data: [ChartElement]
@Koshimizu-Takehito
Koshimizu-Takehito / PhisicsLoadingView.swift
Last active July 22, 2023 03:34
おしゃれなローディングアニメーション
// Thanks to @Ren_yello
// https://twitter.com/ren_yello/status/1681856952090112000?s=61&t=SNv1ZCU_S3Y8TobPv4MBww
import SwiftUI
struct PhisicsLoadingView: View {
@State private var color: CGColor = .black
@State private var angle1: CGFloat = .pi/2
@State private var angle2: CGFloat = .pi/2
@State private var angle3: CGFloat = .pi/2
@renyello
renyello / ProgressRectangle.swift
Created July 20, 2023 06:10
四つの小さな円が正方形の角をサイズを変えながら移動します。
import SwiftUI
struct ProgressRectangle: View {
@State private var index = [0, 1, 2, 3]
@State private var scale: [CGFloat] = [1.0, 0.4, 1.0, 0.4] // Scale for each circle
let colors = [Color("Red"), Color("Green"), Color("Blue"), Color("Yellow")] // Colors for each circle
let minScale: CGFloat = 1.0 // Minimum scale value
let maxScale: CGFloat = 2.0 // Maximum scale value
@State private var opacity = 1.0
@Koshimizu-Takehito
Koshimizu-Takehito / LoadingSquares.swift
Last active July 19, 2023 23:03
おしゃれなローディングアニメーション
// Thanks to @Ren_yello
// https://twitter.com/ren_yello/status/1681556136682741762?s=61&t=SNv1ZCU_S3Y8TobPv4MBww
import SwiftUI
struct ContentView: View {
var body: some View {
LoadingSquares()
}
}
@Koshimizu-Takehito
Koshimizu-Takehito / LoadingCircles.swift
Created July 18, 2023 23:40
おしゃれなローディングアニメーション
import SwiftUI
// Thanks to @Ren_yello
// https://twitter.com/ren_yello/status/1681135824145113089?s=61&t=Z69bUaia8ogjDHp-N7Xvvg
struct ContentView: View {
@State var ratio: Double = 0
@State var angle: CGFloat = 0
@State var delta: CGFloat = 0
var body: some View {
@Koshimizu-Takehito
Koshimizu-Takehito / SegmentedControl.swift
Created July 17, 2023 09:52
カスタムなセグメントコントロール
import SwiftUI
struct ContentView: View {
@State var selectedIndex = 0
let options = ["Apple", "Orange", "Muscat"]
let colors: [Color] = [.red, .orange, .green]
var body: some View {
VStack {
SegmentedControl(selectedIndex: $selectedIndex, options: options, colors: colors)