title: UITableView reorder button covering the entire cell
body: <p>I've been trying to use <a href="http://b2cloud.com.au/how-to-guides/reordering-a-uitableviewcell-from-any-touch-point" rel="nofollow">this tutorial</a> to make the reorder button cover the entire cell. It works great until the cell disappears from the view. Once you go back to the cell, the reorder button has shifted over quite a bit. </p>
  
  <p>In this picture, the red represents the reorder button.
  <img src="https://dl.dropboxusercontent.com/s/32zug80x61eepao/Screen%20Shot%202013-04-21%20at%2012.33.09%20PM.png?token_hash=AAHtVA7T2rIusisjhg_7r5pT4rUY7FroUaTM3SxLx9Eb9g&amp;dl=1" alt="pic"></p>
  
  <p>Here's the code used in the tutorial.</p>
  
  <pre><code>- (void) tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath
  {
      //  Grip customization code goes in here...
      for(UIView* view in cell.subviews)
      {
           if([[[view class] description] isEqualToString:@"UITableViewCellReorderControl"])
          {
                  UIView* resizedGripView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, CGRectGetMaxX(view.frame), CGRectGetMaxY(view.frame))];
              [resizedGripView addSubview:view];
              [cell addSubview:resizedGripView];
              [resizedGripView release];
  
              CGSize sizeDifference = CGSizeMake(resizedGripView.frame.size.width - view.frame.size.width, resizedGripView.frame.size.height - view.frame.size.height);
              CGSize transformRatio = CGSizeMake(resizedGripView.frame.size.width / view.frame.size.width, resizedGripView.frame.size.height / view.frame.size.height);
  
              //  Original transform
              CGAffineTransform transform = CGAffineTransformIdentity;
  
              //  Scale custom view so grip will fill entire cell
              transform = CGAffineTransformScale(transform, transformRatio.width, transformRatio.height);
  
              //  Move custom view so the grip's top left aligns with the cell's top left 
              transform = CGAffineTransformTranslate(transform, -sizeDifference.width / 2.0, -sizeDifference.height / 2.0);
  
              [resizedGripView setTransform:transform];
  
              for(UIImageView* cellGrip in view.subviews)
              {
                  if([cellGrip isKindOfClass:[UIImageView class]])
                      [cellGrip setImage:nil];
              }
          }
      }
  }
  </code></pre>
  
  <p>How do I keep the reorder control from moving to the left? I've tried to translate the transform again, but that just makes it so the reorder control is completely off the screen. What's wrong with the code that makes it move to the left and how do I fix it?</p>