UIWindow: frame == bounds :: ==> (0, 0, windowWidth, windowHeight)
subview: frame :: ==> (100, 100, 200, 200) on UIWindows borders [UIWindows scroll space.]
When you do this:
subview.bounds = CGRectMake(50, 50, 200, 200);
You say that a subview subview frame will start at (50.50, 200, 200) if that subview subview [subsubview] should have properly covered the subview.
Just as you will need to specify your view frame (0,0, windowWidth, windowHeight) to properly cover the window with your view.
The bottom line is that the SUBVIEWS frame depends on its immediate SUPERVIEWS rope system. The local / internal coordinate system of direct observation is its boundaries.
To summarize why this is a subtask and takes 50 50 points.
subview.bounds = CGRectMake(50, 50, 200, 200); subsubview = [[UIView alloc] initWithFrame:CGRectMake(0, 0,100,100)];
compare between (0,0) and (50,50).
We said that the local / inner coordinate space is suspended (50.50, 200, 200) Then we added a subview subview [sububview] to (0,0) inside the subview that starts with (50,50).
In this case (0,0) is located on the upper left of (50,50). That is why it happened.
If you do not understand what this means, even now, take a deep look and slowly draw rectangles in a notebook. It is difficult to make it first hand.