Skip to content

Instantly share code, notes, and snippets.

View mbernson's full-sized avatar
👨‍💻
Coding...

Mathijs Bernson mbernson

👨‍💻
Coding...
View GitHub Profile
@mbernson
mbernson / CGAffineTransform+FlipVertical.swift
Created April 1, 2022 08:51
Flip vertical using CGAffineTransform
import UIKit
extension CGAffineTransform {
static func flipVertical(height: CGFloat) -> Self {
CGAffineTransform(a: 1, b: 0, c: 0, d: -1, tx: 0, ty: height)
}
}
@mbernson
mbernson / MailComposeView.swift
Last active April 1, 2022 11:32
MFMailComposeViewController wrapped for SwiftUI
//
// MailComposeView.swift
//
// Created by Mathijs Bernson on 08/03/2022.
// Copyright © 2022 Q42. All rights reserved.
//
import SwiftUI
import MessageUI
@mbernson
mbernson / q42.swift
Last active February 20, 2022 15:24
Q42 logo as a SwiftUI view
import SwiftUI
public struct Q42: View {
private let bounds = CGRect(x: 0, y: 0, width: 333, height: 500)
public init() {}
private var balloon: some Shape {
Fit(path: Path("166.6 500 m 214.8 345.7 273 319 316.9 232.9 c 371.2 126.5 282.5 0 166.6 0 c 50.7 0 -37.9 126.5 16.4 232.9 c 60.2 319 118.4 345.7 166.6 500 c h")!, bounds: bounds)
}
@mbernson
mbernson / dobbelspel.py
Created February 19, 2022 14:43
Dobbelspel voor CoderDojo
from random import randint
# Gooi de dobbelsteen
answer = randint(1, 6)
while True:
guess = int(input('Raad een getal tussen 1 en 6: '))
if guess == answer:
print("Dat was het juiste antwoord!")
break
@mbernson
mbernson / TimePicker.swift
Created January 20, 2022 09:12
UIDatePicker wrapper in SwiftUI
//
// TimePicker.swift
//
// Created by Tobias Stikvoort on 16/11/2021.
//
import SwiftUI
import UIKit
struct TimePicker: UIViewRepresentable {
@mbernson
mbernson / LottieView.swift
Created January 20, 2022 09:05
Lottie view wrapper in SwiftUI
//
// LottieView.swift
//
// Created by Mathijs Bernson on 27/10/2021.
//
import SwiftUI
import Lottie
struct LottieView: UIViewRepresentable {
@mbernson
mbernson / Snow.swift
Last active December 5, 2021 21:28
A view for your iOS app to draw some falling snow on top of your content. :)
//
// Snow.swift
//
// Created by Mathijs Bernson on 05/12/2021.
//
import UIKit
import SwiftUI
/// A transparent view that displays falling snow on top of itself.
@mbernson
mbernson / Spinner.swift
Created November 15, 2021 15:37
UIActivityIndicatorView in SwiftUI
import SwiftUI
import UIKit
struct Spinner: UIViewRepresentable {
let style: UIActivityIndicatorView.Style
@State var animating: Bool = true
func makeUIView(context: Context) -> UIActivityIndicatorView {
UIActivityIndicatorView(style: style)
}
@mbernson
mbernson / ReadableContentWidth.swift
Last active August 26, 2021 06:35
SwiftUI view modifier that constrains the width of a view to be no bigger than the readable width.
import SwiftUI
/// View modifier that constrains the width of a view to be no bigger than the readable width.
struct ReadableContentWidth: ViewModifier {
private let measureViewController = UIViewController()
@State private var orientation: UIDeviceOrientation = UIDevice.current.orientation
func body(content: Content) -> some View {
content
@mbernson
mbernson / automations.yaml
Created February 15, 2021 13:52
Home Assistant - Start Roomba using actionable push notification
- id: '1613375678079'
alias: Ask to start cleaning
trigger:
- platform: zone
entity_id: person.mathijs
zone: zone.home
event: leave
condition:
# I added this step in the UI, don't know how to find the device_id otherwise
# - condition: device