title: Layout relation between MKAnnotationView and its rightCalloutAccessoryView has changed in iOS7
body: <p>An <code>UIButton</code> is set to the <code>rightCalloutAccessoryView</code> of the <code>MKPinAnnotationView</code>, and it fires <code>btnClicked:</code> method. In iOS6, the layout relation between <code>MKAnnotationView</code> and its <code>rightCalloutAccessoryView</code> can be easily used to find the <code>MKPinAnnotationView</code> through  <code>MKPinAnnotationView *pin = (MKPinAnnotationView *)[[button superview] superview];</code>. But in iOS7, the layout relation does not exist anymore.</p>
  
  <pre><code>- (MKAnnotationView *)mapView:(MKMapView *)theMapView viewForAnnotation:(id &lt;MKAnnotation&gt;)annotation{
  ...
  
  MKPinAnnotationView *pinView = (MKPinAnnotationView *)[mapView dequeueReusableAnnotationViewWithIdentifier:tripStartAddrAnnotationIdentifier];
      if (!pinView)
      {            
          MKPinAnnotationView *customPinView = [[MKPinAnnotationView alloc]
                                                initWithAnnotation:annotation reuseIdentifier:tripStartAddrAnnotationIdentifier];
          customPinView.animatesDrop = NO;
          customPinView.canShowCallout = YES;
  
          UIButton* rightButton = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 32, 32)];
          [rightButton setImage:[UIImage imageNamed:@"disclosureUpMap.png"] forState:UIControlStateNormal];
          [rightButton setImage:[UIImage imageNamed:@"disclosureDownMap.png"] forState:UIControlStateNormal];
  
          [rightButton addTarget:self
                          action:@selector(btnClicked:)
                forControlEvents:UIControlEventTouchUpInside];
          customPinView.rightCalloutAccessoryView = rightButton;
  
          return customPinView;
      }
      else
      {
          pinView.annotation = annotation;
      }
      return pinView;
  ...
  }
  
  
  -(void)btnClicked:(id)sender{
      NSLog(@"superview 1 :%@",[sender superview]);
      NSLog(@"superview 2 :%@",[[sender superview] superview]);
      NSLog(@"superview 3 :%@",[[[sender superview] superview] superview]);
      NSLog(@"superview 4 :%@",[[[[sender superview] superview] superview] superview]);
      MKPinAnnotationView *pin = (MKPinAnnotationView *)[[sender superview] superview];
      // the information contains in pin.annotation is necessary for the pushed view controller
  ...    
  }
  </code></pre>
  
  <p>Log for iOS6:</p>
  
  <pre><code>2013-09-30 01:21:11.851 MyApp[6113:c07] superview 1 :&lt;UICalloutView: 0x1e3df250; frame = (-246 -60; 320 70); clipsToBounds = YES; layer = &lt;CALayer: 0x1e3e0140&gt;&gt;
  2013-09-30 01:21:11.851 MyApp[6113:c07] superview 2 :&lt;MKPinAnnotationView: 0x1b649510; frame = (526 223; 32 39); layer = &lt;MKLayer: 0x1b649570&gt;&gt; visible:1 +33.19910200, +120.45132100
  2013-09-30 01:21:11.852 MyApp[6113:c07] superview 3 :&lt;MKAnnotationContainerView: 0xb68b380; frame = (0 0; 640 640); autoresizesSubviews = NO; layer = &lt;CALayer: 0xb68b410&gt;&gt;
  2013-09-30 01:21:11.852 MyApp[6113:c07] superview 4 :&lt;MKScrollContainerView: 0xb68c8f0; frame = (-280 -72.5; 640 640); autoresizesSubviews = NO; layer = &lt;CALayer: 0xb68c980&gt;&gt;
  </code></pre>
  
  <p>Log for iOS7:</p>
  
  <pre><code>2013-09-30 01:44:22.835 MyApp[6226:a0b] superview 1 :&lt;_MKSmallCalloutContainerView: 0xdbe5120; frame = (0 0; 222 44); clipsToBounds = YES; layer = &lt;CALayer: 0xdbe1f30&gt;&gt;
  2013-09-30 01:44:22.836 MyApp[6226:a0b] superview 2 :&lt;MKSmallCalloutView: 0x1c53a380; frame = (0 0; 222 57); layer = &lt;CALayer: 0x1c546440&gt;&gt;
  2013-09-30 01:44:22.837 MyApp[6226:a0b] superview 3 :&lt;UIView: 0xdb14770; frame = (0 0; 222 57); clipsToBounds = YES; layer = &lt;CALayer: 0xdb147d0&gt;&gt;
  2013-09-30 01:44:22.837 MyApp[6226:a0b] superview 4 :&lt;_UIPopoverView: 0xdbfa4c0; frame = (-27 -57; 222 57); layer = &lt;CALayer: 0xdbfa5a0&gt;&gt;
  </code></pre>
  
  <p>Any help will be appreciated.</p>