title: Button inside collection view cell not responding to layout changes
body: <p>I have a collection view cell with a button inside the cell.  When I tap the cell (using <code>.touchUpInside</code>), I don't see the layout changes that are supposed to occur.</p>
  
  <p>Here's the action method that gets called. I know that it is appropriately getting called because I get the log <code>button tapped touch down</code>.</p>
  
  <p>My collection view is using a compositional layout and a <code>UIDiffableDataSource</code>.</p>
  
  <pre class="lang-swift prettyprint-override"><code>
      @objc func buttonTapped() {
          print("button tapped touch down")
          self.button.isSpinning = true
  
      }
  </code></pre>
  
  <p>The above action sets the property <code>isSpinning</code> in the view, which is supposed to trigger the animation of the activity indicator and the background color change. The <code>SmallCellButton</code> is a class that's a UIView with a transparent button on top of it. It works completely fine when used in other situations than this collection view scenario. </p>
  
  <pre class="lang-swift prettyprint-override"><code>
  class SmallCellButton : UIView {
  
      ...
  
      var isSpinning : Bool = false {
          didSet {
              if isSpinning {
                  print("should be spinning")
                  self.label.isHidden = true
                  self.activityIndicator.startAnimating()
                  self.activityIndicator.alpha = 1
  
                  self.layer.borderColor = UIColor.white.withAlphaComponent(0.2).cgColor
                  self.layer.backgroundColor = UIColor.black.cgColor
              } else {
                  print("should stop spinning")
                  self.label.isHidden = false
                  self.activityIndicator.alpha = 0
                  self.activityIndicator.stopAnimating()
  
  
                  self.layer.borderColor = UIColor.clear.cgColor
                  self.layer.backgroundColor = UIColor.white.withAlphaComponent(0.2).cgColor
              }
          }
      }
  
  }
  </code></pre>
  
  <p>I get the log of <code>"should be spinning"</code>, but I don't ever see the layout changes after the <code>.touchUpInside</code> event. I can step through all the layout code using the debugger, but no visual changes appear.</p>
  
  <p>If I move the layout code from <code>isSpinning</code> to an overrided <code>isHighlighted</code> property, the layout code executes AND visually displays. If I move it to an overrided <code>isSelected</code> property, then it does not visually display, but it does execute.</p>