Home > DeveloperSection > Interviews > Whats the difference between bounds and frame?

Posted on    July-24-2015 11:16 PM

 iPhone iPhone  Ios  Objective C 
Ratings:
 1 Answer(s)
  379  View(s)
Rate this:

Nigel Bunyan
Nigel Bunyan

Total Post:4

Points:20
Posted on    July-24-2015 11:16 PM

The bounds of an UIView is the rectangle, expressed as a location (x,y) and size (width,height) relative to its own coordinate system (0,0).

The frame of an UIView is the rectangle, expressed as a location (x,y) and size (width,height) relative to the superview it is contained within.

 

So, imagine a view that has a size of 100x100 (width x height) positioned at 25,25 (x,y) of its superview. The following code prints out this view's bounds and frame:

// This method is in the view controller of the superview

- (void)viewDidLoad {

    [super viewDidLoad];

    NSLog(@"bounds.origin.x: %f", label.bounds.origin.x);

    NSLog(@"bounds.origin.y: %f", label.bounds.origin.y);

    NSLog(@"bounds.size.width: %f", label.bounds.size.width);

    NSLog(@"bounds.size.height: %f", label.bounds.size.height);

    NSLog(@"frame.origin.x: %f", label.frame.origin.x);

    NSLog(@"frame.origin.y: %f", label.frame.origin.y);

    NSLog(@"frame.size.width: %f", label.frame.size.width);

    NSLog(@"frame.size.height: %f", label.frame.size.height);

}

And the output of this code is:

bounds.origin.x: 0

bounds.origin.y: 0

bounds.size.width: 100

bounds.size.height: 100

 

frame.origin.x: 25

frame.origin.y: 25

frame.size.width: 100

frame.size.height: 100

 


Don't want to miss updates? Please click the below button!

Follow MindStick