title: Understand convertRect:toView:, convertRect:FromView:, convertPoint:toView: and convertPoint:fromView: methods
body: <p>I'm trying to understand the functionalities of these methods. Could you provide me with a simple use case to understand their semantics?</p>
  <p>From the documentation, for example, <code>convertPoint:fromView:</code> method is described as follows:</p>
  <blockquote>
  <p>Converts a point from the coordinate system of a given view to that of the receiver.</p>
  </blockquote>
  <p>What does the <strong>coordinate system</strong> mean? What about the <strong>receiver</strong>?</p>
  <p>For example, does it make sense using <code>convertPoint:fromView:</code> like the following?</p>
  <pre><code>CGPoint p = [view1 convertPoint:view1.center fromView:view1];
  </code></pre>
  <p>Using NSLog utility, I've verified that <code>p</code> value coincides with <code>view1</code>'s center.</p>
  <p>Thank you in advance.</p>
  <p><strong>EDIT:</strong> For those interested, I've created a simple code snippet to understand these methods.</p>
  <pre><code>UIView* view1 = [[UIView alloc] initWithFrame:CGRectMake(100, 100, 150, 200)];
  view1.backgroundColor = [UIColor redColor];
      
  NSLog(@&quot;view1 frame: %@&quot;, NSStringFromCGRect(view1.frame));        
  NSLog(@&quot;view1 center: %@&quot;, NSStringFromCGPoint(view1.center));   
      
  CGPoint originInWindowCoordinates = [self.window convertPoint:view1.bounds.origin fromView:view1];        
  NSLog(@&quot;convertPoint:fromView: %@&quot;, NSStringFromCGPoint(originInWindowCoordinates));
      
  CGPoint originInView1Coordinates = [self.window convertPoint:view1.frame.origin toView:view1];        
  NSLog(@&quot;convertPoint:toView: %@&quot;, NSStringFromCGPoint(originInView1Coordinates));
  </code></pre>
  <p>In both cases <code>self.window</code> is the receiver. But there is a difference. In the first case the <code>convertPoint</code> parameter is expressed in <code>view1</code> coordinates. The output is the following:</p>
  <blockquote>
  <p>convertPoint:fromView: {100, 100}</p>
  </blockquote>
  <p>In the second one, instead, <code>convertPoint</code> is expressed in superview (<code>self.window</code>) coordinates. The output is the following:</p>
  <blockquote>
  <p>convertPoint:toView: {0, 0}</p>
  </blockquote>