Skip to content

Instantly share code, notes, and snippets.

View ashfurrow's full-sized avatar

Ash Furrow ashfurrow

View GitHub Profile
@ashfurrow
ashfurrow / gist:5638960
Created May 23, 2013 19:56
Soft Light Rendering Example
CGImageRef imageRef = CGImageCreateWithImageInRect([rootViewController.gradientImage CGImage], CGRectMake(point.x, self.minY + self.superview.frame.origin.y, size.width, self.maxY - self.minY));
UIImage *img = [UIImage imageWithCGImage:imageRef];
CGImageRelease(imageRef);
UIGraphicsBeginImageContext(self.backgroundImage.frame.size);
[img drawAtPoint:CGPointZero blendMode:kCGBlendModeSoftLight alpha:1];
[aImage drawAtPoint:CGPointZero blendMode:kCGBlendModeSoftLight alpha:alpha];
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
@ashfurrow
ashfurrow / gist:5638914
Created May 23, 2013 19:49
UIImage Blur Category
#import <CoreImage/CoreImage.h>
@implementation UIImage (Blur)
+(UIImage *)darkenedAndBlurredImageForImage:(UIImage *)image {
CGFloat scaleFactor = 1.0f;
if (AppDelegate.device == TLAppDelegateDeviceIPhone3GS || AppDelegate.device == TLAppDelegateDeviceIPhone4) {
scaleFactor = 0.25f;
} else if (AppDelegate.device == TLAppDelegateDeviceIPhone4S) {
@ashfurrow
ashfurrow / gist:5622049
Last active December 17, 2015 14:09
ReactiveCocoa Starting Signal Example
RAC(self.textField.text) = [[[[RACSignal interval:1] startWith:[NSDate date]] map:^id(NSDate *value) {
NSDateComponents *dateComponents = [[NSCalendar currentCalendar] components:(NSMinuteCalendarUnit|NSSecondCalendarUnit) fromDate:value];
return [NSString stringWithFormat:@"%d:%02d", dateComponents.minute, dateComponents.second];
}] deliverOn:[RACScheduler mainThreadScheduler]];
@ashfurrow
ashfurrow / gist:5622041
Created May 21, 2013 18:21
RACAble Example
RAC(self.label.text) = RACAbleWithStart(self.someString);
@ashfurrow
ashfurrow / gist:5622033
Created May 21, 2013 18:20
RACAble Example
RAC(self.label.text) = RACAble(self.someString);
@ashfurrow
ashfurrow / gist:5622002
Last active December 17, 2015 14:09
ReactiveCocoa Filter Example
[[self.gestureRecognizerIsRunningSubject filter:^BOOL(NSNumber *gestureRecognizerIsRunning) {
return !(gestureRecognizerIsRunning.boolValue);
}] subscribeNext:^(id x) {
[self.tableView flashScrollIndicators];
}];
@ashfurrow
ashfurrow / gist:5621995
Last active December 17, 2015 14:09
ReactiveCocoa RACSubject Example
-(void)gestureRecognizerReceivedTouch:(UIPanGestureRecognizer *)recognizer {
if (recognizer.state == UIGestureRecognizerStateBegan) {
[self.gestureRecognizerIsRunningSubject sendNext:@(YES)];
}
else if (recognizer.state == UIGestureRecognizerStateChanged) {
[self.gestureRecognizerValueSubject sendNext:[NSValue valueWithCGPoint:[recognizer locationInView:self.view]]];
}
else if (recognizer.state == UIGestureRecognizerStateEnded) {
@ashfurrow
ashfurrow / gist:5621841
Last active December 17, 2015 14:08
ReactiveCocoa RACSubject Example
self.gestureRecognizerIsRunningSubject = [RACSubject subject];
self.gestureRecognizerValueSubject = [RACSubject subject];
RAC(self.someView.frame) = [self.gestureRecognizerValueSubject map:^id(NSValue *value) {
CGPoint location = [value CGPointValue];
CGFloat size = 100.0f;
return [NSValue valueWithCGRect:CGRectMake(location.x - size/2.0f, location.y - size/2.0f, size, size)];
}];
@ashfurrow
ashfurrow / gist:5621819
Created May 21, 2013 17:54
ReactiveCocoa Combining Example
RAC(self.submitButton.enabled) = [RACSignal combineLatest:@[self.usernameField.rac_textSignal, self.passwordField.rac_textSignal] reduce:^id(NSString *userName, NSString *password) {
return @(userName.length >= 6 && password.length >= 6);
}];
@ashfurrow
ashfurrow / gist:5621801
Last active December 17, 2015 14:08
ReactiveCocoa Splitting Example
RACSignal *dateComponentsSignal = [[[RACSignal interval:1] startWith:[NSDate date]] map:^id(NSDate *value) {
NSDateComponents *dateComponents = [[NSCalendar currentCalendar] components:NSMinuteCalendarUnit | NSSecondCalendarUnit fromDate:value];
return dateComponents;
}];
RAC(self.minuteTextField.text) = [dateComponentsSignal map:^id(NSDateComponents *dateComponents) {
return [NSString stringWithFormat:@"%d", dateComponents.minute];
}];
RAC(self.secondTextField.text) = [dateComponentsSignal map:^id(NSDateComponents *dateComponents) {