Skip to content

Instantly share code, notes, and snippets.


Tiago Martinho tiagomartinho

View GitHub Profile
View UIViewLayoutAnchors.swift
// Inspired by UIView Anchors from Brian Voong. Please check out his work at
extension UIView {
public func addSubViewList(_ view: UIView...) {
view.forEach { self.addSubview($0) }
public func fillSuperview() {
translatesAutoresizingMaskIntoConstraints = false
if let superview = superview {


In this Coffee Machine Project, your task is to implement the logic (starting from a simple class) that translates orders from customers of the coffee machine to the drink maker. Your code will use the drink maker protocol to send commands to the drink maker.

First iteration - Making drinks

In this iteration, your task is to implement the logic (starting from a simple class) that translates orders from customers of the coffee machine to the drink maker. Your code will use the drink maker protocol (see below) to send commands to the drink maker.

The coffee machine can serves 3 type of drinks: tea, coffee, chocolate.

Use cases

Your product owner has delivered the stories and here they are:

aitskovi / GestureImage.m
Created Mar 4, 2011
A pannable, rotatable and zoomable image with gesture recognizers.
View GestureImage.m
- (id)initWithImage:(UIImage *)image {
if ((self = [super initWithImage:image])) {
self.userInteractionEnabled = YES;
self.multipleTouchEnabled = YES;
_pinchGestureRecognizer = [[UIPinchGestureRecognizer alloc] initWithTarget:self action:@selector(pinchRecognized:)];
[self addGestureRecognizer:_pinchGestureRecognizer];
_pinchGestureRecognizer.delegate = self;
_panRecognizer = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(panRecognized:)];
[self addGestureRecognizer:_panRecognizer];
_panRecognizer.delegate = self;
jellybeansoup /
Last active Dec 31, 2018
Install Autoconf and Automake on OS X Mountain Lion
# Install autoconf, automake and libtool smoothly on Mac OS X.
# Newer versions of these libraries are available and may work better on OS X
# This script is originally from
export build=~/devtools # or wherever you'd like to build
nunogoncalves / Dates.swift
Last active Feb 7, 2019
Date Operations in swift 3 //Date() + 1.days
View Dates.swift
//See the bottom of this file to check what you can do with this
let calendar = Calendar(identifier: .gregorian)
struct CalendarComponentAmount {
let component: Calendar.Component
let amount: Int
infix operator +: AdditionPrecedence
jezen / Io Example Problems
Created Dec 15, 2013
The example problems have gone missing from the Io language website, so here’s a backup.
View Io Example Problems
#Sample code
#Hello world
"Hello world!" print
factorial := method(n, if(n == 1, 1, n * factorial(n - 1)))
99 bottles of beer
yoichitgy /
Last active Jun 10, 2020
A script to generate .strings file for .swift, .m, .storyboard and .xib files by genstrings and ibtool commands, and merge them with existing translations.
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# - Incremental localization on XCode projects
# João Moreno 2009
# Modified by Steve Streeting 2010
# Changes
# - Use .strings files encoded as UTF-8
View FocusTextView.swift
// TextView subclass that replicates TVOS movies app
// Also made a quick presentation controller
// Just connect the delegate to the ViewController in IB
// and set the TextView class to FocusTextView
import UIKit
class TextPresentationViewController:UIViewController {
let label = UILabel()
let blurStyle = UIBlurEffectStyle.Dark
chrisvasselli /
Last active Sep 25, 2020
Lookup translations of a word in Apple's glossaries
# Run from a folder containing a folder for each language you want to look up a word in,
# with the contents of the glossaries from
# Prints the all translations found for the given word in each language, along with how many occurrences of that translation were found.
# Dependencies
# brew install xmlstarlet
# Usage
joshdholtz / .env
Last active Nov 13, 2020
Using Dotenv and environment variables with fastlane
View .env
STUFF = this is some stuff
You can’t perform that action at this time.