Skip to content

Instantly share code, notes, and snippets.

View USBA's full-sized avatar
👋

Umayanga Alahakoon USBA

👋
View GitHub Profile
@eugenezuban
eugenezuban / CheckDaysStreak.swift
Created April 13, 2021 10:01
A function to help you get the longest contiguous sequence of days from an array of dates. For example, can be used in the habit tracker.
func checkStreak(of dateArray: [Date]) -> Int{
let dates = dateArray.sorted()
// Check if the array contains more than 0 dates, otherwise return 0
guard dates.count > 0 else { return 0 }
// Get full day value of first date in array
let referenceDate = Calendar.current.startOfDay(for: dates.first!)
// Get an array of (non-decreasing) integers
let dayDiffs = dates.map { (date) -> Int in
Calendar.current.dateComponents([.day], from: referenceDate, to: date).day!
}
@mobilinked
mobilinked / gist:9b6086b3760bcf1e5432932dad0813c0
Last active February 9, 2024 13:03
SwiftUI - prevent auto dismiss the sheet by drag down
//
// Created by https://quickplan.app on 2020/11/8.
//
import SwiftUI
/// Control if allow to dismiss the sheet by the user actions
/// - Drag down on the sheet on iPhone and iPad
/// - Tap outside the sheet on iPad
/// No impact to dismiss programatically (by calling "presentationMode.wrappedValue.dismiss()")
@Clarko
Clarko / ConvenientColors.swift
Last active July 24, 2020 15:40
SwiftUI Color Extension
//
// ConvenientColors.swift
//
// Created by Clarko on 7/15/20.
//
// Color.primary and Color.secondary are great for foreground text
// that adapts in light & dark mode, but there are a lot more
// UI Element Colors in iOS and macOS:
//
// https://developer.apple.com/documentation/uikit/uicolor/ui_element_colors
import SwiftUI
import MapKit
import PlaygroundSupport
struct Location {
var title: String
var latitude: Double
var longitude: Double
}
@mjm
mjm / LinkedText.swift
Created May 21, 2020 03:56
Tappable links in SwiftUI Text view
import SwiftUI
private let linkDetector = try! NSDataDetector(types: NSTextCheckingResult.CheckingType.link.rawValue)
struct LinkColoredText: View {
enum Component {
case text(String)
case link(String, URL)
}
@EnesKaraosman
EnesKaraosman / RandomColor.swift
Last active July 14, 2023 09:35
Generatin random color in SwiftUI & UIKit
#if canImport(UIKit)
import UIKit
extension UIColor {
static var random: UIColor {
return UIColor(
red: .random(in: 0...1),
green: .random(in: 0...1),
blue: .random(in: 0...1)
)
@Harry-Harrison
Harry-Harrison / ContentView.swift
Last active July 11, 2023 10:42
Haptic Feedback Vibrations in SwiftUI
// This prints a list of buttons that on tap will fire a different type of haptic vibration
import SwiftUI
struct ContentView: View {
let generator = UINotificationFeedbackGenerator()
var body: some View {
VStack(alignment: .center, spacing: 30.0) {
Button(action: {
@SatoTakeshiX
SatoTakeshiX / convert.swift
Last active August 31, 2023 09:10
Take capture a view by SwiftUI
//
// ContentView.swift
// TryGeometryReader
//
// Created by satoutakeshi on 2019/12/07.
// Copyright © 2019 satoutakeshi. Licensed under MIT.
//
import SwiftUI