title: how to reposition layers on rotation
body: <p>My tableView cells have a gradient layer </p>
  
  <pre><code>CAGradientLayer *gradient = [CAGradientLayer layer];
      gradient.frame = cell.contentView.bounds;
      gradient.colors = 
      [NSArray arrayWithObjects:
       (id)[[UIColor colorWithRed:0.85 green:0.85 blue:0.85 alpha:1] CGColor],
       (id)[[UIColor colorWithRed:0.82 green:0.82 blue:0.82 alpha:1] CGColor], nil];
      [cell.contentView.layer insertSublayer:gradient atIndex:0];
  </code></pre>
  
  <p>Which, when rotating obviously remain in the initial dimensions until i call </p>
  
  <p><code>tableview.reloadData</code></p>
  
  <p>I wonder if there is a more sophisticated approach than this.</p>
  
  <p>The same goes with the NavigationController which has an image at the center,</p>
  
  <pre><code>UIImage *logo = [UIImage imageNamed:@"logo.png"];
  UIImageView *logoimageview = 
  [[UIImageView alloc] initWithFrame:
   CGRectMake(self.navigationController.navigationBar.bounds.size.width / 2 - logo.size.width / 2, 
              self.navigationController.navigationBar.bounds.size.height / 2 - logo.size.height / 2, 
              logo.size.width, logo.size.height)];
  
  [logoimageview setImage:logo];
  
  [self.navigationController.navigationBar addSubview:logoimageview];
  </code></pre>
  
  <p>so the image does not reposition itself at rotation, and I'm not aware of any "refresh" method for the navigation bar.</p>