Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
tree: f41913bcaf
Fetching contributors…

Cannot retrieve contributors at this time

file 86 lines (66 sloc) 1.776 kb
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86
//
// UIView+SSToolkitAdditions.m
// SSToolkit
//
// Created by Sam Soffes on 2/15/10.
// Copyright 2010-2011 Sam Soffes. All rights reserved.
//

#import "UIView+SSToolkitAdditions.h"
#import <QuartzCore/QuartzCore.h>

@implementation UIView (SSToolkitAdditions)

- (UIImage *)imageRepresentation {
UIGraphicsBeginImageContext(self.bounds.size);
[self.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return image;
}


- (void)hide {
self.alpha = 0.0f;
}


- (void)show {
self.alpha = 1.0f;
}


- (void)fadeOut {
UIView *view = self;
[UIView animateWithDuration:0.2 delay:0.0 options:UIViewAnimationOptionAllowUserInteraction animations:^{
view.alpha = 0.0f;
} completion:nil];
}


- (void)fadeOutAndRemoveFromSuperview {
UIView *view = self;
[UIView animateWithDuration:0.2 delay:0.0 options:UIViewAnimationOptionAllowUserInteraction animations:^{
view.alpha = 0.0f;
} completion:^(BOOL finished) {
[view removeFromSuperview];
}];
}


- (void)fadeIn {
UIView *view = self;
[UIView animateWithDuration:0.2 delay:0.0 options:UIViewAnimationOptionAllowUserInteraction animations:^{
view.alpha = 1.0f;
} completion:nil];
}


- (NSArray *)superviews {
NSMutableArray *superviews = [[NSMutableArray alloc] init];

UIView *view = self;
UIView *superview = nil;
while (view) {
superview = [view superview];
if (!superview) {
break;
}

[superviews addObject:superview];
view = superview;
}

return superviews;
}

- (id)firstSuperviewOfClass:(Class)superviewClass {
for (UIView *view = [self superview]; view != nil; view = [view superview]) {
if ([view isKindOfClass:superviewClass]) {
return view;
}
}
return nil;
}

@end
Something went wrong with that request. Please try again.