title: UITableViewCell reorder clears subview's background color
body: <p>This question has been asked few times but there don't seem to be any solution to this.</p>
  
  <p><a href="https://stackoverflow.com/questions/8451937/uitableview-reorder-hides-background">UITableView reorder hides background</a></p>
  
  <p><a href="https://stackoverflow.com/questions/11076939/subviews-of-uitableviewcell-are-not-visible-while-reordering">Subviews of UITableViewCell are not visible while reordering</a></p>
  
  <p><a href="https://stackoverflow.com/questions/11035915/reordering-causing-subview-s-backround-color-to-clear">Reordering causing subview 's backround color to clear</a></p>
  
  <p>I have a custom tableview cell with UILabel in it. When tableview is in edit mode and I drag the cell to reorder, UILabel's background becomes clear color.  I've also found that, if I try to reorder selected cell (my tableview is allowed multiple selection during edit mode), the subview's background color stays.</p>
  
  <p>I tried below methods in my CustomCell but none of them overrides the subview's background color when cell is being dragged.</p>
  
  <p>I want the subview's background color to stay. Is there any method that I missed? Or Apple designed it this way?</p>
  
  <pre><code>- (void)setSelected:(BOOL)selected animated:(BOOL)animated {
      [super setSelected:selected animated:animated];
  
      if (selected) {
          if (self.isEditing) {
              self.customLabel.backgroundColor = [UIColor blueColor];
          }
          else {
              self.customLabel.backgroundColor = [UIColor blueColor];
          }
      }
      else {
              self.customLabel.backgroundColor = [UIColor blueColor];
      }
  }
  
  - (void)setHighlighted:(BOOL)highlighted animated:(BOOL)animated {
      [super setHighlighted:highlighted animated:animated];
  
      if (highlighted) {
          if (self.isEditing) {
              self.customLabel.backgroundColor = [UIColor blueColor];
          }
          else {
              self.customLabel.backgroundColor = [UIColor blueColor];
          }
      }
      else {
          self.customLabel.backgroundColor = [UIColor blueColor];
      }
  }
  
  - (void)setEditing:(BOOL)editing animated:(BOOL)animated {
      [super setEditing:editing animated:animated];
  
      if (editing) {
          self.customLabel.backgroundColor = [UIColor blueColor];
      }
      else {
          self.customLabel.backgroundColor = [UIColor blueColor];
      }
  }
  </code></pre>