Skip to content

Instantly share code, notes, and snippets.

View codeactual's full-sized avatar

David Smith codeactual

  • Found Apparatus
  • Portland, OR
View GitHub Profile
@dmr121
dmr121 / PomodoroPicker.swift
Last active September 23, 2025 17:57
SwiftUI - Snapping horizontal scrolling pomodoro picker
//
// PomodoroPicker.swift
// pomodoro
//
// Created by David Rozmajzl on 1/1/22.
//
import SwiftUI
struct PomodoroPicker<Content, Item: Hashable>: View where Content: View {
@ramzesenok
ramzesenok / CoreDataViewModelArchitecture.swift
Last active May 12, 2022 06:26
My attempt to build a reusable ViewModel that uses CoreData as its persistence store
import Combine
import SwiftUI
import CoreData
class CoreDataViewModel: NSObject, ObservableObject, NSFetchedResultsControllerDelegate {
let container: NSPersistentContainer
private var controllerUpdates = [NSObject: CurrentValueSubject<[NSFetchRequestResult], Never>]()
init(container: NSPersistentContainer) {
self.container = container
import SwiftUI
struct ContentView: View {
@State var horizontal: Bool = true
@Namespace var namespace
var body: some View {
VStack(spacing: 40) {
if horizontal {
HStack { items }
@BrentMifsud
BrentMifsud / PreviewDevice+Devices.swift
Last active October 31, 2022 18:50
Extension on PreviewDevice that includes all available devices
import SwiftUI
/// Static properties for all preview devices.
///
/// Usage:
///
/// ```swift
/// struct TestView_Previews: PreviewProvider {
/// static var previews: some View {
/// Group {
@codeactual
codeactual / HasRootNavigationController.swift
Created November 20, 2021 16:13 — forked from michaelhenry/HasRootNavigationController.swift
UINavigationController in swiftUI.
import SwiftUI
import UIKit
protocol HasRootNavigationController {
var rootVC:UINavigationController? { get }
func push<Content:View>(view: Content, animated:Bool)
func setRootNavigation<Content:View>(views:[Content], animated:Bool)
func pop(animated: Bool)
func popToRoot(animated: Bool)
@sindresorhus
sindresorhus / PHImageManager-requestImage-async.swift
Created November 3, 2021 05:46
How to use `PHImageManager#requestImage` with async/await in Swift.
import Photos
struct UnexpectedNilError: Error {}
extension PHImageManager {
func requestImage(
for asset: PHAsset,
targetSize: CGSize,
contentMode: PHImageContentMode,
options: PHImageRequestOptions?
@damirstuhec
damirstuhec / swiftui-ios15-button-design-system.swift
Last active June 9, 2022 23:39
SwiftUI iOS 15 button design system
//
// ContentView.swift
// SwiftUIDemo
//
// Created by Damir Stuhec on 07/10/2021.
//
import SwiftUI
// MARK: - CustomButtonStyle
@Martini024
Martini024 / VideoHelper.swift
Last active June 14, 2026 21:33
SwiftUI: Rewrite iOS Photos Video Scrubber
import AVKit
import Foundation
class VideoHelper {
static func getThumbnail(from player: AVPlayer, at time: CMTime, maximumSize: CGSize? = nil) -> CGImage? {
guard let currentItem = player.currentItem else { return nil }
return getThumbnail(from: currentItem.asset, at: time, maximumSize: maximumSize)
}
@krzyzanowskim
krzyzanowskim / StringGetSizeThatFits.swift
Last active July 11, 2025 10:45
Calculate frame of String, that fits given width
// Excerpt from https://github.com/krzyzanowskim/CoreTextWorkshop
// Licence BSD-2 clause
// Marcin Krzyzanowski marcin@krzyzanowskim.com
func getSizeThatFits(_ attributedString: NSAttributedString, maxWidth: CGFloat) -> CGSize {
let framesetter = CTFramesetterCreateWithAttributedString(attributedString)
let rectPath = CGRect(origin: .zero, size: CGSize(width: maxWidth, height: 50000))
let ctFrame = CTFramesetterCreateFrame(framesetter, CFRange(), CGPath(rect: rectPath, transform: nil), nil)
@uxduck
uxduck / archive-env.log
Created March 29, 2021 15:46
XCode environment variables available during Archiving
ACTION=install
ADDITIONAL_SDKS=
AD_HOC_CODE_SIGNING_ALLOWED=YES
ALL_OTHER_LDFLAGS=' '
ALL_OTHER_LIBTOOLFLAGS=' '
ALTERNATE_GROUP=staff
ALTERNATE_LINKER=
ALTERNATE_MODE=u+w,go-w,a+rX
ALTERNATE_OWNER=username
ALTERNATE_PERMISSIONS_FILES=