Skip to content

Instantly share code, notes, and snippets.

@lukeharback
lukeharback / GlassButton.swift
Last active September 15, 2025 22:53
A pre iOS26 implementation of a glass button.
import SwiftUI
struct ContentView: View {
var body: some View {
VStack {
Button {
print("hello")
} label: {
Text("Send")
}
// Average Colour of UIImage
extension UIImage {
var averageColour: UIColor? {
guard let inputImage = CIImage(image: self) else {
return nil
}
//
// Log.swift
//
import Foundation
enum Message {
case error(Any)
case warn(Any)
case info(Any)
import UIKit
extension CALayer {
func shadow(pulse colour: UIColor, duration: CFTimeInterval = 1.0, repeats: Bool = true) {
let maxShadowOpacity: Float = 1.0
self.masksToBounds = false
self.shadowOpacity = maxShadowOpacity
self.shadowOffset = CGSize.zero
.video__container {
padding-top: 5em;
padding-bottom: 5em;
width: 70%;
margin-right: auto;
margin-left: auto;
}
.video-container {
position: relative;
<dict>
<!-- Explain why you need the camera -->
<key>NSCameraUsageDescription</key>
<string>Description</string>
<!-- Write only photos access -->
<key>NSPhotoLibraryAddUsageDescription</key>
<string>Description</string>
<!-- Read & Write photos access -->

Carthage

carthage build --platform iOS --no-skip-current

If you're using SSH keys, you'll need to pass the --use-ssh flag to carthage.

Swift

//
// You didnt get this from me.. 😧
//
struct console {
static func log(_ input:String) {
print(input)
}
}
@lukeharback
lukeharback / sublime-settings.json
Last active November 14, 2017 04:18
My Sublime text settings
{
"caret_extra_width": 1,
"caret_style": "phase",
"color_scheme": "Packages/Theme - itg.flat/itg.dark.tmTheme",
"detect_indentation": false,
"ensure_newline_at_eof_on_save": true,
"fade_fold_buttons": false,
"find_selected_text": true,
"folder_exclude_patterns":
[
@lukeharback
lukeharback / DynamicTypes.swift
Created December 12, 2014 04:31
Dynamic types in swift to bind listeners to varibles
// Dynamic Types //
// ======================== //
import UIKit
struct Dynamic<T> {
var value: T {
didSet {
if let listener = listener {
listener(value)