Skip to content

Instantly share code, notes, and snippets.

@icanswiftabit
Created November 22, 2013 14:17
Show Gist options
  • Save icanswiftabit/7600551 to your computer and use it in GitHub Desktop.
Save icanswiftabit/7600551 to your computer and use it in GitHub Desktop.
Autoresize UIView to fit subviews
@interface UIView (resizeToFit)
-(void)resizeToFitSubviews;
-(void)resizeHightToFitSubviews;
-(void)resizeWidthToFitSubviews;
@end
@implementation UIView (resizeToFit)
-(void)resizeToFitSubviews
{
float w = 0;
float h = 0;
for (UIView *v in [self subviews]) {
float fw = v.frame.origin.x + v.frame.size.width;
float fh = v.frame.origin.y + v.frame.size.height;
w = MAX(fw, w);
h = MAX(fh, h);
}
[self setFrame:CGRectMake(self.frame.origin.x, self.frame.origin.y, w, h)];
}
-(void)resizeHightToFitSubviews{
float h = 0;
for (UIView *v in [self subviews]) {
float fh = v.frame.origin.y + v.frame.size.height;
h = MAX(fh, h);
}
[self setFrame:CGRectMake(self.frame.origin.x, self.frame.origin.y, self.frame.size.width, h)];
}
-(void)resizeWidthToFitSubviews{
float w = 0;
for (UIView *v in [self subviews]) {
float fw = v.frame.origin.x + v.frame.size.width;
w = MAX(fw, w);
}
[self setFrame:CGRectMake(self.frame.origin.x, self.frame.origin.y, w, self.frame.size.height)];
}
@end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment