Skip to content

Instantly share code, notes, and snippets.

View peterstuart's full-sized avatar

Peter Stuart peterstuart

View GitHub Profile
@peterstuart
peterstuart / gist:4288081
Created December 14, 2012 19:48
Description
This is a test gist.
// Re: https://twitter.com/iKenndac/status/430813574538092544
// `array` is an array of `SomeClass` objects, which have a `loaded` property
NSArray *loadedSignals = [[array.rac_sequence
map:^RACSignal *(SomeClass *object) {
return RACObserve(object, loaded);
}] array];
[[[[RACSignal
combineLatest:loadedSignals]
[self.window.contentView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"|-[avatarView]-[optionalTextField]-[requiredTextField]-|" options:NSLayoutFormatAlignAllBottom metrics:nil views:views]];
[self.window.contentView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|-[avatarView]-|" options:0 metrics:nil views:views]];
[avatarView setContentHuggingPriority:NSLayoutPriorityRequired forOrientation:NSLayoutConstraintOrientationVertical];
[avatarView setContentHuggingPriority:NSLayoutPriorityRequired forOrientation:NSLayoutConstraintOrientationHorizontal];
[requiredTextField setContentHuggingPriority:NSLayoutPriorityRequired forOrientation:NSLayoutConstraintOrientationHorizontal];
[optionalTextField setContentCompressionResistancePriority:NSLayoutPriorityDefaultLow forOrientation:NSLayoutConstraintOrientationHorizontal];
- (void)drawRect:(NSRect)dirtyRect {
CGFloat blurRadius = self.blurRadius;
NSSize shadowOffset = NSMakeSize(0, -self.blurOffset);
NSImage *circularImage = [self.image maskedCircularImageWithDiameter:self.circleDiameter];
NSRect rect = NSMakeRect(blurRadius, blurRadius + self.blurOffset, circularImage.size.width, circularImage.size.height);
NSShadow *shadow = [NSShadow new];
shadow.shadowBlurRadius = blurRadius;
shadow.shadowOffset = shadowOffset;
- (NSSize)intrinsicContentSize {
return NSMakeSize(self.circleDiameter, self.circleDiameter);
}
- (NSEdgeInsets)alignmentRectInsets {
return NSEdgeInsetsMake(0, self.blurRadius, self.blurOffset + self.blurRadius, self.blurRadius);
}
- (void)setCircleDiameter:(CGFloat)circleDiameter {
_circleDiameter = circleDiameter;
[self setNeedsDisplay:YES]
[self invalidateIntrinsicContentSize];
}
- (void)setBlurRadius:(CGFloat)blurRadius {
_blurRadius = blurRadius;