This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// | |
// ContentView.swift | |
// MeshGradientPlayground | |
// | |
// Created by Bill Richards on 6/14/24. | |
// | |
import SwiftUI | |
struct ContentView: View { |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import SwiftUI | |
struct KeyframeValues { | |
var scale = 1.0 | |
var horizontalStretch = 1.0 | |
var verticalStretch = 1.0 | |
var translation = 0.0 | |
var rotation = Angle.zero | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
struct ContentView: View { | |
var body: some View { | |
let names = [ | |
["appstore.app.dashed", "buildings.3d", "emoji.chicken.face"], | |
["person.text.rectangle.and.nfc", "secure.element", "laugh.bubble.tapback.2.he"], | |
["apple.news", "apple.podcasts.square.stack", "apple.slice"], | |
] | |
VStack(spacing: 20) { | |
Grid(horizontalSpacing: 20, verticalSpacing: 20) { | |
ForEach(names, id: \.self) { nameRow in |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// | |
// ContentView.swift | |
// Airdrop Demo | |
// | |
// Created by Daniel Kuntz on 7/30/23. | |
// | |
import SwiftUI | |
struct ContentView: View { |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import SwiftUI | |
// 1. Use looped H/VStacks to create a grid | |
// 2. Conditionally increase spacing to grow/shrink the grid | |
// 3. Calculate the distance of each dot to the center and use the value to stagger the animation | |
//4. Add random delay on top of the staggered delay value | |
struct ContentView: View { | |
// const & state |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// | |
// CDView.swift | |
// CD | |
// | |
// Created by Daniel Kuntz on 7/3/23. | |
// | |
import SwiftUI | |
struct ShapeWithHole: Shape { |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// MARK: - SceneDelegate | |
class SceneDelegate: UIResponder, UIWindowSceneDelegate { | |
var window: UIWindow? | |
func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) { | |
let navigationController = UINavigationController(navigationBarClass: NavigationBar.self, toolbarClass: nil) | |
(navigationController.navigationBar as! NavigationBar).preferredHeight = 88 | |
navigationController.setViewControllers([ViewController()], animated: false) | |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import SwiftUI | |
struct RefreshableScrollView<Content: View>: View { | |
@State private var isRefreshing = false | |
@State private var initialValue: CGFloat = 50 | |
private var threshold: CGFloat = 100 | |
let axes: Axis.Set | |
let showsIndicators: Bool | |
let onRefresh: () async -> Void |
NewerOlder