Skip to content

Instantly share code, notes, and snippets.

Avatar

Robin Chou chourobin

View GitHub Profile
View keybase.md

Keybase proof

I hereby claim:

  • I am chourobin on github.
  • I am robinchou (https://keybase.io/robinchou) on keybase.
  • I have a public key ASBUj_uuP1sOsaQ2FaG1ljzbnugx4PjNN9xIu8gFrpYvuAo

To claim this, I am signing this object:

@chourobin
chourobin / index.js
Created Jun 22, 2017 — forked from mrzmyr/index.js
React Native - Detect Double Tap
View index.js
var Index = React.createClass({
getInitialState: function () {
return {
lastPress: 0
}
},
onPress: function () {
var delta = new Date().getTime() - this.state.lastPress;
@chourobin
chourobin / MLWAsyncAVPlayer.h
Created Jun 20, 2017 — forked from k06a/MLWAsyncAVPlayer.h
Awesome optimized AVPlayer for smooth scrolling AVPlayerLayer inside UICollectionView/UITableView (tested on iOS10+)
View MLWAsyncAVPlayer.h
#import <AVFoundation/AVFoundation.h>
@interface MLWAsyncAVPlayer : AVPlayer
@end
View AVPlayerCaching.m
//
// ViewController.m
// AVPlayerCaching
//
// Created by Anurag Mishra on 5/19/14.
// Sample code to demonstrate how to cache a remote audio file while streaming it with AVPlayer
//
#import "ViewController.h"
#import <AVFoundation/AVFoundation.h>
@chourobin
chourobin / RNfontWeights.js
Created Apr 17, 2017 — forked from knowbody/RNfontWeights.js
React Native Font Weight Cheatsheet iOS
View RNfontWeights.js
{ fontWeight: '100' }, // Thin
{ fontWeight: '200' }, // Ultra Light
{ fontWeight: '300' }, // Light
{ fontWeight: '400' }, // Regular
{ fontWeight: '500' }, // Medium
{ fontWeight: '600' }, // Semibold
{ fontWeight: '700' }, // Bold
{ fontWeight: '800' }, // Heavy
{ fontWeight: '900' }, // Black
@chourobin
chourobin / .eslintrc
Last active Oct 27, 2018
React Native General Eslint File
View .eslintrc
{
"parser": "babel-eslint",
"env": {
"browser": true
},
"plugins": [
"babel",
"react",
"react-native"
],
View 0-bridging-react-native-cheatsheet.md
@chourobin
chourobin / StateMachine.swift
Created Nov 21, 2016 — forked from jemmons/StateMachine.swift
A Simple Swift State Machine
View StateMachine.swift
import Foundation
class StateMachine <P: StateMachineDelegateProtocol> {
private unowned let delegate: P
private var _state: P.StateType {
didSet{
delegate.didTransitionFrom(from: oldValue, to: _state)
}
@chourobin
chourobin / UIButton+VerticalLayout.h
Created Aug 23, 2016 — forked from r3econ/UIButton+VerticalLayout.h
UIButton category for centering title label and image vertically. The text label is placed below the image.
View UIButton+VerticalLayout.h
@interface UIButton (VerticalLayout)
- (void)centerVerticallyWithPadding:(float)padding;
- (void)centerVertically;
@end
@chourobin
chourobin / gist:7ac64b28cfe0fa85f103
Created Nov 12, 2015 — forked from marcoarment/gist:1105553afba6b4900c10
Variable-height UITableView tableHeaderView with autolayout
View gist:7ac64b28cfe0fa85f103
// in a UITableViewController (or any other view controller with a UITableView)
- (void)viewWillTransitionToSize:(CGSize)size withTransitionCoordinator:(id<UIViewControllerTransitionCoordinator>)coordinator
{
UIView *header = [[UIView alloc] initWithFrame:CGRectMake(0, 0, size.width, 0)];
header.translatesAutoresizingMaskIntoConstraints = NO;
// [add subviews and their constraints to header]
NSLayoutConstraint *headerWidthConstraint = [NSLayoutConstraint
You can’t perform that action at this time.