Skip to content

Instantly share code, notes, and snippets.

View ksm's full-sized avatar
🏔️

Karol S. Mazur ksm

🏔️
View GitHub Profile
@ksm
ksm / gist:da1dd59f38babe929c44
Created November 23, 2014 12:57
Allow a view to capture touches while it is animating (e.g. for interactive animations and transitions)
// Presentation Layer Hit Test
// Source: WWDC2014 Session 236
- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event
{
CGPoint pointInSuperview = [self convertPoint:point toView:self.superview];
CGPoint presentationLayerPoint = [self.layer.presentationLayer convertPoint:pointInSuperview fromLayer:self.superview.layer];
return [super hitTest:presentationLayerPoint withEvent:event];
}
@ksm
ksm / nyan-cat-hd.gif
Last active February 7, 2021 03:38
🌌
nyan-cat-hd.gif
@ksm
ksm / machine.js
Created September 29, 2020 16:23
Generated by XState Viz: https://xstate.js.org/viz
// Available variables:
// - Machine
// - interpret
// - assign
// - send
// - sendParent
// - spawn
// - raise
// - actions
import React, { Component } from "react";
import Board from "./Board";
export default class Game extends Component {
constructor(props) {
super(props);
this.state = {
xIsNext: true,
stepNumber: 0,
history: [{ squares: Array(9).fill(null) }],

Keywords

👨‍💻 Technologies I Use Day-to-Day
JavaScript, Flow for JavaScript, Ruby, Swift
React, React Native, Ruby on Rails, Apollo, GraphQL
Jest, RSpec
VSCode, Xcode, Git
Yarn, CocoaPods, Carthage

| 🎓 What I'd Like To Get Better At or Learn |

@ksm
ksm / UIBarButtonItem+Closure.swift
Last active September 13, 2019 11:30 — forked from BeauNouvelle/UIBarButtonItem Closure 1.swift
Slightly improved version of Beau Nouvelle's UIBarButtonItem closure extension. I hid all the helper classes within the extension and made them private, so as not to pollute the global namespace. Original article: https://medium.com/@BeauNouvelle/adding-a-closure-to-uibarbuttonitem-24dfc217fe72
import Foundation
import UIKit
public extension UIBarButtonItem {
public typealias TargetClosure = (UIBarButtonItem) -> ()
public convenience init(title: String?, style: UIBarButtonItem.Style = .plain, closure: @escaping TargetClosure) {
self.init(title: title, style: style, target: nil, action: nil)
targetClosure = closure
@ksm
ksm / gist:3689424
Created September 10, 2012 07:29
NSOperation cancel pattern and retain cycle avoidance
/*
Source: Building Concurrent User Interfaces on iOS
WWDC2012 Session 211 by Andy Matuschak
*/
NSOperationQueue *queue = [[NSOperation alloc] init];
NSBlockOperation *op = [[NSBlockOperation alloc] init];
__weak NSBlockOperation *weakOp = op;
[op addExecutionBlock:^{
for (int i = 0; i < 10000; i++) {
@ksm
ksm / UINavigationController+Fade.h
Created February 14, 2012 22:23
UINavigationController custom pop/push transition animation
/*
Copied and pasted from David Hamrick's blog:
Source: http://www.davidhamrick.com/2011/12/31/Changing-the-UINavigationController-animation-style.html
*/
@interface UINavigationController (Fade)
- (void)pushFadeViewController:(UIViewController *)viewController;
- (void)fadePopViewController;
@ksm
ksm / DEPENDENCIES.md
Last active February 14, 2019 17:49
A sample DEPENDENCIES.md file

Use this file to track all dependencies required by this project.

Added via Carthage

Alamofire

  • Added because of its MultipartFormData implementation
  • License: MIT

Added via Drag & Drop

@ksm
ksm / gist:593faea8f0ab408dc071eea4e05c8dc1
Created December 20, 2018 16:40
Carthage failing build log for GRDB.swift
*** xcodebuild output can be found in /var/folders/pz/zn0ztb8n4kl2ts0cd4thqxxh0000gq/T/carthage-xcodebuild.vWS3Sz.log
*** Building scheme "GRDBiOS" in GRDB.xcworkspace
*** Building scheme "GRDBCipheriOS" in GRDB.xcworkspace
*** Building scheme "GRDBCustomSQLiteiOS" in GRDB.xcworkspace
Build Failed
Task failed with exit code 65:
/usr/bin/xcrun xcodebuild -workspace /Users/karol/Desktop/portfolio-ios/Carthage/Checkouts/GRDB.swift/GRDB.xcworkspace -scheme GRDBCustomSQLiteiOS -configuration Release -derivedDataPath /Users/karol/Library/Caches/org.carthage.CarthageKit/DerivedData/10.1_10B61/GRDB.swift/v3.6.1 -sdk iphoneos ONLY_ACTIVE_ARCH=NO CODE_SIGNING_REQUIRED=NO CODE_SIGN_IDENTITY= CARTHAGE=YES archive -archivePath /var/folders/pz/zn0ztb8n4kl2ts0cd4thqxxh0000gq/T/GRDB.swift SKIP_INSTALL=YES GCC_INSTRUMENT_PROGRAM_FLOW_ARCS=NO CLANG_ENABLE_CODE_COVERAGE=NO STRIP_INSTALLED_PRODUCT=NO (launched in /Users/karol/Desktop/portfolio-ios/Carthage/Checkouts/GRDB.swift)
This usually indicates that project itself faile