title: UIViewAlertForUnsatisfiableConstraints errors when working with dynamic header size UICollectionView
body: <h2>Intro</h2>
  <p>I am trying to give the header cell of my collectionView a dynamic cell sizing. The cell that is used as a header is also used as a &quot;regular&quot; cell in another collectionView. In there, working with a dynamic cell sizing works just fine.</p>
  <p><strong>This is how the collectionView is created:</strong></p>
  <pre><code>private lazy var timelineCollectionView: UICollectionView = {
      let flowLayout = UICollectionViewFlowLayout()
      flowLayout.scrollDirection = .vertical
      flowLayout.estimatedItemSize = CGSize(width: self.view.frame.width, height: 10)
      flowLayout.minimumInteritemSpacing = 0
      flowLayout.minimumLineSpacing = 0
      
      let cv = UICollectionView(frame: .zero, collectionViewLayout: flowLayout)
      cv.alwaysBounceVertical = true
      cv.contentInsetAdjustmentBehavior = .never
      cv.backgroundColor = .clear
      cv.scrollIndicatorInsets = UIEdgeInsets(top: self.coloredTitleBarHeight - self.getStatusBarHeight(), left: 0, bottom: 0, right: 0)
      
      cv.delegate = self
      cv.dataSource = self
      cv.register(TLContentCell.self, forSupplementaryViewOfKind: UICollectionView.elementKindSectionHeader, withReuseIdentifier: &quot;content-header-cell&quot;)
      
      return cv
  }()
  </code></pre>
  <p>I've followed <a href="https://medium.com/@andrea.toso/uicollectionviewcell-dynamic-height-swift-b099b28ddd23" rel="nofollow noreferrer">this tutorial</a> to work with a dynamic cell height.</p>
  <p><strong>Following the tutorial, this is a snippet of the code in my cell:</strong></p>
  <pre><code>private lazy var width: NSLayoutConstraint = {
          let width = contentView.widthAnchor.constraint(equalToConstant: bounds.size.width)
          width.isActive = true
          return width
      }()
      
      override init(frame: CGRect) {
          super.init(frame: frame)
          contentView.translatesAutoresizingMaskIntoConstraints = false
          contentView.backgroundColor = UIColor.white
      }
      
      override func systemLayoutSizeFitting(_ targetSize: CGSize, withHorizontalFittingPriority horizontalFittingPriority: UILayoutPriority, verticalFittingPriority: UILayoutPriority) -&gt; CGSize {
          width.constant = bounds.size.width
          return contentView.systemLayoutSizeFitting(CGSize(width: targetSize.width, height: 1))
      }
  
  func setupViews() {
       // view setup happens here
       if let lastSubview = contentView.subviews.last {
           contentView.bottomAnchor.constraint(equalTo: lastSubview.bottomAnchor, constant: 0).isActive = true
       }
  }
  </code></pre>
  <p><strong>Again, this code works totally fine if I use the cell as a regular cell, not in a header or footer of the collectionView.</strong></p>
  <p>Now, I simply wanted to use it in a header. As it's not possible to provide something like an <code>estimatedItemSize</code> for a header cell, I'm using the following approach, found in <a href="https://stackoverflow.com/a/57790982/10203069">this SO post</a>:</p>
  <pre><code>func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, referenceSizeForHeaderInSection section: Int) -&gt; CGSize {
          let indexPath = IndexPath(row: 0, section: section)
          let headerView = self.collectionView(collectionView, viewForSupplementaryElementOfKind: UICollectionView.elementKindSectionHeader, at: indexPath) as! TLContentCell
          headerView.layoutIfNeeded()
          
          return headerView.systemLayoutSizeFitting(CGSize(width: collectionView.frame.width, height: UIView.layoutFittingExpandedSize.height),
          withHorizontalFittingPriority: .required, // Width is fixed
          verticalFittingPriority: .fittingSizeLevel) // Height can be as large as needed
      }
  </code></pre>
  <p><strong>And indeed, the header cell resizes correctly.</strong> However, UIKit prints a seemingly endless amount of <code>UIViewAlertForUnsatisfiableConstraints</code> <strong>errors</strong> (shortened due to the SO character limit):</p>
  <pre><code>    2020-01-16 15:29:00.427001+0100 MyApp[1542:65269] [LayoutConstraints] Unable to simultaneously satisfy constraints.
      Probably at least one of the constraints in the following list is one you don't want. 
      Try this: 
          (1) look at each constraint and try to figure out which you don't expect; 
          (2) find the code that added the unwanted constraint or constraints and fix it. 
  (
      &quot;&lt;NSLayoutConstraint:0x600000024820 MyApp.DefaultLabel:0x7fa6fc579090'3d'.width == 17.6667   (active)&gt;&quot;,
      &quot;&lt;NSLayoutConstraint:0x600000024780 MyApp.AnimatedButton:0x7fa6fc5786d0.width == 20   (active)&gt;&quot;,
      &quot;&lt;NSLayoutConstraint:0x6000000245f0 UIImageView:0x7fa6fc578020.width == 45   (active)&gt;&quot;,
      &quot;&lt;NSLayoutConstraint:0x600000024550 H:|-(0)-[UIImageView:0x7fa6fc578020](LTR)   (active, names: '|':UIView:0x7fa6fc578980 )&gt;&quot;,
      &quot;&lt;NSLayoutConstraint:0x600000024730 MyApp.AnimatedButton:0x7fa6fc5786d0.right == UIView:0x7fa6fc578980.right   (active)&gt;&quot;,
      &quot;&lt;NSLayoutConstraint:0x6000000247d0 MyApp.DefaultLabel:0x7fa6fc579090'3d'.right == MyApp.AnimatedButton:0x7fa6fc5786d0.left - 4   (active)&gt;&quot;,
      &quot;&lt;NSLayoutConstraint:0x600000024a50 H:[UIImageView:0x7fa6fc578020]-(8)-[MyApp.DefaultLabel:0x7fa6fc578460'@unitedholograms'](LTR)   (active)&gt;&quot;,
      &quot;&lt;NSLayoutConstraint:0x600000024910 MyApp.DefaultLabel:0x7fa6fc578460'@unitedholograms'.right == MyApp.DefaultLabel:0x7fa6fc579090'3d'.left   (active)&gt;&quot;,
      &quot;&lt;NSLayoutConstraint:0x600000024be0 H:|-(16)-[UIView:0x7fa6fc578980](LTR)   (active, names: '|':UIView:0x7fa6fc56b450 )&gt;&quot;,
      &quot;&lt;NSLayoutConstraint:0x600000024c30 UIView:0x7fa6fc578980.right == UIView:0x7fa6fc56b450.right - 16   (active)&gt;&quot;,
      &quot;&lt;NSLayoutConstraint:0x600000026fd0 UIView:0x7fa6fc56b450.width == 0   (active)&gt;&quot;
  )
  
  Will attempt to recover by breaking constraint 
  &lt;NSLayoutConstraint:0x6000000245f0 UIImageView:0x7fa6fc578020.width == 45   (active)&gt;
  
  Make a symbolic breakpoint at UIViewAlertForUnsatisfiableConstraints to catch this in the debugger.
  The methods in the UIConstraintBasedLayoutDebugging category on UIView listed in &lt;UIKitCore/UIView.h&gt; may also be helpful.
  2020-01-16 15:29:00.427892+0100 MyApp[1542:65269] [LayoutConstraints] Unable to simultaneously satisfy constraints.
      Probably at least one of the constraints in the following list is one you don't want. 
      Try this: 
          (1) look at each constraint and try to figure out which you don't expect; 
          (2) find the code that added the unwanted constraint or constraints and fix it. 
  (
      &quot;&lt;NSLayoutConstraint:0x6000000252c0 UIStackView:0x7fa6fc57a470.width == 80   (active)&gt;&quot;,
      &quot;&lt;NSLayoutConstraint:0x600000024fa0 H:|-(0)-[UIImageView:0x7fa6fc57a610](LTR)   (active, names: '|':UIView:0x7fa6fc57a300 )&gt;&quot;,
      &quot;&lt;NSLayoutConstraint:0x600000025040 UIImageView:0x7fa6fc57a610.right == UIStackView:0x7fa6fc57a470.left - 8   (active)&gt;&quot;,
      &quot;&lt;NSLayoutConstraint:0x600000025220 UIStackView:0x7fa6fc57a470.right == UIView:0x7fa6fc57a300.right   (active)&gt;&quot;,
      &quot;&lt;NSLayoutConstraint:0x600000025360 H:|-(0)-[UIView:0x7fa6fc57a300](LTR)   (active, names: '|':UIView:0x7fa6fc57a010 )&gt;&quot;,
      &quot;&lt;NSLayoutConstraint:0x6000000253b0 UIView:0x7fa6fc57a300.right == UIView:0x7fa6fc57a010.right   (active)&gt;&quot;,
      &quot;&lt;NSLayoutConstraint:0x600000025590 H:|-(16)-[UIView:0x7fa6fc57a010](LTR)   (active, names: '|':UIView:0x7fa6fc56b450 )&gt;&quot;,
      &quot;&lt;NSLayoutConstraint:0x6000000255e0 UIView:0x7fa6fc57a010.right == UIView:0x7fa6fc56b450.right - 16   (active)&gt;&quot;,
      &quot;&lt;NSLayoutConstraint:0x600000026fd0 UIView:0x7fa6fc56b450.width == 0   (active)&gt;&quot;
  )
  
  Will attempt to recover by breaking constraint 
  &lt;NSLayoutConstraint:0x6000000252c0 UIStackView:0x7fa6fc57a470.width == 80   (active)&gt;
  
  Make a symbolic breakpoint at UIViewAlertForUnsatisfiableConstraints to catch this in the debugger.
  The methods in the UIConstraintBasedLayoutDebugging category on UIView listed in &lt;UIKitCore/UIView.h&gt; may also be helpful.
  2020-01-16 15:29:00.428596+0100 MyApp[1542:65269] [LayoutConstraints] Unable to simultaneously satisfy constraints.
      Probably at least one of the constraints in the following list is one you don't want. 
      Try this: 
          (1) look at each constraint and try to figure out which you don't expect; 
          (2) find the code that added the unwanted constraint or constraints and fix it. 
  (
      &quot;&lt;NSLayoutConstraint:0x600000024820 MyApp.DefaultLabel:0x7fa6fc579090'3d'.width == 17.6667   (active)&gt;&quot;,
      &quot;&lt;NSLayoutConstraint:0x600000024780 MyApp.AnimatedButton:0x7fa6fc5786d0.width == 20   (active)&gt;&quot;,
      &quot;&lt;NSLayoutConstraint:0x600000024550 H:|-(0)-[UIImageView:0x7fa6fc578020](LTR)   (active, names: '|':UIView:0x7fa6fc578980 )&gt;&quot;,
      &quot;&lt;NSLayoutConstraint:0x600000024730 MyApp.AnimatedButton:0x7fa6fc5786d0.right == UIView:0x7fa6fc578980.right   (active)&gt;&quot;,
      &quot;&lt;NSLayoutConstraint:0x6000000247d0 MyApp.DefaultLabel:0x7fa6fc579090'3d'.right == MyApp.AnimatedButton:0x7fa6fc5786d0.left - 4   (active)&gt;&quot;,
      &quot;&lt;NSLayoutConstraint:0x600000024a50 H:[UIImageView:0x7fa6fc578020]-(8)-[MyApp.DefaultLabel:0x7fa6fc578460'@unitedholograms'](LTR)   (active)&gt;&quot;,
      &quot;&lt;NSLayoutConstraint:0x600000024910 MyApp.DefaultLabel:0x7fa6fc578460'@unitedholograms'.right == MyApp.DefaultLabel:0x7fa6fc579090'3d'.left   (active)&gt;&quot;,
      &quot;&lt;NSLayoutConstraint:0x600000024be0 H:|-(16)-[UIView:0x7fa6fc578980](LTR)   (active, names: '|':UIView:0x7fa6fc56b450 )&gt;&quot;,
      &quot;&lt;NSLayoutConstraint:0x600000024c30 UIView:0x7fa6fc578980.right == UIView:0x7fa6fc56b450.right - 16   (active)&gt;&quot;,
      &quot;&lt;NSLayoutConstraint:0x600000026fd0 UIView:0x7fa6fc56b450.width == 0   (active)&gt;&quot;
  )
  
  Will attempt to recover by breaking constraint 
  &lt;NSLayoutConstraint:0x600000024780 MyApp.AnimatedButton:0x7fa6fc5786d0.width == 20   (active)&gt;
  
  Make a symbolic breakpoint at UIViewAlertForUnsatisfiableConstraints to catch this in the debugger.
  The methods in the UIConstraintBasedLayoutDebugging category on UIView listed in &lt;UIKitCore/UIView.h&gt; may also be helpful.
  2020-01-16 15:29:00.429543+0100 MyApp[1542:65269] [LayoutConstraints] Unable to simultaneously satisfy constraints.
      Probably at least one of the constraints in the following list is one you don't want. 
      Try this: 
          (1) look at each constraint and try to figure out which you don't expect; 
          (2) find the code that added the unwanted constraint or constraints and fix it. 
  (
      &quot;&lt;NSLayoutConstraint:0x600000024820 MyApp.DefaultLabel:0x7fa6fc579090'3d'.width == 17.6667   (active)&gt;&quot;,
      &quot;&lt;NSLayoutConstraint:0x600000024550 H:|-(0)-[UIImageView:0x7fa6fc578020](LTR)   (active, names: '|':UIView:0x7fa6fc578980 )&gt;&quot;,
      &quot;&lt;NSLayoutConstraint:0x600000024730 MyApp.AnimatedButton:0x7fa6fc5786d0.right == UIView:0x7fa6fc578980.right   (active)&gt;&quot;,
      &quot;&lt;NSLayoutConstraint:0x6000000247d0 MyApp.DefaultLabel:0x7fa6fc579090'3d'.right == MyApp.AnimatedButton:0x7fa6fc5786d0.left - 4   (active)&gt;&quot;,
      &quot;&lt;NSLayoutConstraint:0x600000024a50 H:[UIImageView:0x7fa6fc578020]-(8)-[MyApp.DefaultLabel:0x7fa6fc578460'@unitedholograms'](LTR)   (active)&gt;&quot;,
      &quot;&lt;NSLayoutConstraint:0x600000024910 MyApp.DefaultLabel:0x7fa6fc578460'@unitedholograms'.right == MyApp.DefaultLabel:0x7fa6fc579090'3d'.left   (active)&gt;&quot;,
      &quot;&lt;NSLayoutConstraint:0x600000024be0 H:|-(16)-[UIView:0x7fa6fc578980](LTR)   (active, names: '|':UIView:0x7fa6fc56b450 )&gt;&quot;,
      &quot;&lt;NSLayoutConstraint:0x600000024c30 UIView:0x7fa6fc578980.right == UIView:0x7fa6fc56b450.right - 16   (active)&gt;&quot;,
      &quot;&lt;NSLayoutConstraint:0x600000026fd0 UIView:0x7fa6fc56b450.width == 0   (active)&gt;&quot;
  )
  
  Will attempt to recover by breaking constraint 
  &lt;NSLayoutConstraint:0x600000024820 MyApp.DefaultLabel:0x7fa6fc579090'3d'.width == 17.6667   (active)&gt;
  
  Make a symbolic breakpoint at UIViewAlertForUnsatisfiableConstraints to catch this in the debugger.
  The methods in the UIConstraintBasedLayoutDebugging category on UIView listed in &lt;UIKitCore/UIView.h&gt; may also be helpful.
  2020-01-16 15:29:00.430324+0100 MyApp[1542:65269] [LayoutConstraints] Unable to simultaneously satisfy constraints.
      Probably at least one of the constraints in the following list is one you don't want. 
      Try this: 
          (1) look at each constraint and try to figure out which you don't expect; 
          (2) find the code that added the unwanted constraint or constraints and fix it. 
  (
      &quot;&lt;NSLayoutConstraint:0x6000000250e0 V:|-(0)-[UIStackView:0x7fa6fc57a470]   (active, names: '|':UIView:0x7fa6fc57a300 )&gt;&quot;,
      &quot;&lt;NSLayoutConstraint:0x600000025090 UIStackView:0x7fa6fc57a470.bottom == UIView:0x7fa6fc57a300.bottom   (active)&gt;&quot;,
      &quot;&lt;NSLayoutConstraint:0x600000025400 UIView:0x7fa6fc57a300.height == 0.5625*UIView:0x7fa6fc57a300.width   (active)&gt;&quot;,
      &quot;&lt;NSLayoutConstraint:0x600000025360 H:|-(0)-[UIView:0x7fa6fc57a300](LTR)   (active, names: '|':UIView:0x7fa6fc57a010 )&gt;&quot;,
      &quot;&lt;NSLayoutConstraint:0x6000000253b0 UIView:0x7fa6fc57a300.right == UIView:0x7fa6fc57a010.right   (active)&gt;&quot;,
      &quot;&lt;NSLayoutConstraint:0x600000025590 H:|-(16)-[UIView:0x7fa6fc57a010](LTR)   (active, names: '|':UIView:0x7fa6fc56b450 )&gt;&quot;,
      &quot;&lt;NSLayoutConstraint:0x6000000255e0 UIView:0x7fa6fc57a010.right == UIView:0x7fa6fc56b450.right - 16   (active)&gt;&quot;,
      &quot;&lt;NSLayoutConstraint:0x600000026fd0 UIView:0x7fa6fc56b450.width == 0   (active)&gt;&quot;,
      &quot;&lt;NSLayoutConstraint:0x600000026210 'UISV-canvas-connection' UIStackView:0x7fa6fc57a470.top == UIImageView:0x7fa6fc57a7e0.top   (active)&gt;&quot;,
      &quot;&lt;NSLayoutConstraint:0x600000026260 'UISV-canvas-connection' V:[UIImageView:0x7fa6fc57ab80]-(0)-|   (active, names: '|':UIStackView:0x7fa6fc57a470 )&gt;&quot;,
      &quot;&lt;NSLayoutConstraint:0x600000026300 'UISV-fill-equally' UIImageView:0x7fa6fc57a9b0.height == UIImageView:0x7fa6fc57a7e0.height   (active)&gt;&quot;,
      &quot;&lt;NSLayoutConstraint:0x6000000263a0 'UISV-fill-equally' UIImageView:0x7fa6fc57ab80.height == UIImageView:0x7fa6fc57a7e0.height   (active)&gt;&quot;,
      &quot;&lt;NSLayoutConstraint:0x6000000262b0 'UISV-spacing' V:[UIImageView:0x7fa6fc57a7e0]-(8)-[UIImageView:0x7fa6fc57a9b0]   (active)&gt;&quot;,
      &quot;&lt;NSLayoutConstraint:0x600000026350 'UISV-spacing' V:[UIImageView:0x7fa6fc57a9b0]-(8)-[UIImageView:0x7fa6fc57ab80]   (active)&gt;&quot;
  )
  
  Will attempt to recover by breaking constraint 
  &lt;NSLayoutConstraint:0x600000026350 'UISV-spacing' V:[UIImageView:0x7fa6fc57a9b0]-(8)-[UIImageView:0x7fa6fc57ab80]   (active)&gt;
  
  Make a symbolic breakpoint at UIViewAlertForUnsatisfiableConstraints to catch this in the debugger.
  The methods in the UIConstraintBasedLayoutDebugging category on UIView listed in &lt;UIKitCore/UIView.h&gt; may also be helpful.
  2020-01-16 15:29:00.431297+0100 MyApp[1542:65269] [LayoutConstraints] Unable to simultaneously satisfy constraints.
      Probably at least one of the constraints in the following list is one you don't want. 
      Try this: 
          (1) look at each constraint and try to figure out which you don't expect; 
          (2) find the code that added the unwanted constraint or constraints and fix it. 
  (
      &quot;&lt;NSLayoutConstraint:0x60000003df90 UIImageView:0x7fa6fc576970.width == 13   (active)&gt;&quot;,
      &quot;&lt;NSLayoutConstraint:0x60000003e030 H:|-(4)-[UIImageView:0x7fa6fc576970](LTR)   (active, names: '|':UIView:0x7fa6fc56e2d0 )&gt;&quot;,
      &quot;&lt;NSLayoutConstraint:0x60000003e940 H:[UIImageView:0x7fa6fc576970]-(4)-[MyApp.DefaultLabel:0x7fa6fc576700'by linus_hologram '](LTR)   (active)&gt;&quot;,
      &quot;&lt;NSLayoutConstraint:0x60000003e440 MyApp.DefaultLabel:0x7fa6fc576700'by linus_hologram '.right == UIView:0x7fa6fc56e2d0.right - 4   (active)&gt;&quot;,
      &quot;&lt;NSLayoutConstraint:0x6000000e2bc0 H:|-(16)-[UIView:0x7fa6fc56e2d0](LTR)   (active, names: '|':UIView:0x7fa6fc56b450 )&gt;&quot;,
      &quot;&lt;NSLayoutConstraint:0x600000023930 UIView:0x7fa6fc56e2d0.right &lt;= UIView:0x7fa6fc56b450.right - 16   (active)&gt;&quot;,
      &quot;&lt;NSLayoutConstraint:0x600000026fd0 UIView:0x7fa6fc56b450.width == 0   (active)&gt;&quot;
  )
  
  Will attempt to recover by breaking constraint 
  &lt;NSLayoutConstraint:0x600000025ae0 MyApp.DefaultLabel:0x7fa6fc575060'0'.right == UIView:0x7fa6fc57c3e0.right   (active)&gt;
  
  Make a symbolic breakpoint at UIViewAlertForUnsatisfiableConstraints to catch this in the debugger.
  The methods in the UIConstraintBasedLayoutDebugging category on UIView listed in &lt;UIKitCore/UIView.h&gt; may also be helpful.
  2020-01-16 15:29:00.434486+0100 MyApp[1542:65269] [LayoutConstraints] Unable to simultaneously satisfy constraints.
      Probably at least one of the constraints in the following list is one you don't want. 
      Try this: 
          (1) look at each constraint and try to figure out which you don't expect; 
          (2) find the code that added the unwanted constraint or constraints and fix it. 
  (
      &quot;&lt;NSLayoutConstraint:0x60000003e030 H:|-(4)-[UIImageView:0x7fa6fc576970](LTR)   (active, names: '|':UIView:0x7fa6fc56e2d0 )&gt;&quot;,
      &quot;&lt;NSLayoutConstraint:0x60000003e940 H:[UIImageView:0x7fa6fc576970]-(4)-[MyApp.DefaultLabel:0x7fa6fc576700'by linus_hologram '](LTR)   (active)&gt;&quot;,
      &quot;&lt;NSLayoutConstraint:0x60000003e440 MyApp.DefaultLabel:0x7fa6fc576700'by linus_hologram '.right == UIView:0x7fa6fc56e2d0.right - 4   (active)&gt;&quot;,
      &quot;&lt;NSLayoutConstraint:0x6000000e2bc0 H:|-(16)-[UIView:0x7fa6fc56e2d0](LTR)   (active, names: '|':UIView:0x7fa6fc56b450 )&gt;&quot;,
      &quot;&lt;NSLayoutConstraint:0x600000023930 UIView:0x7fa6fc56e2d0.right &lt;= UIView:0x7fa6fc56b450.right - 16   (active)&gt;&quot;,
      &quot;&lt;NSLayoutConstraint:0x600000026fd0 UIView:0x7fa6fc56b450.width == 0   (active)&gt;&quot;
  )
  
  Will attempt to recover by breaking constraint 
  &lt;NSLayoutConstraint:0x60000003e940 H:[UIImageView:0x7fa6fc576970]-(4)-[MyApp.DefaultLabel:0x7fa6fc576700'by linus_hologram '](LTR)   (active)&gt;
  
  Make a symbolic breakpoint at UIViewAlertForUnsatisfiableConstraints to catch this in the debugger.
  The methods in the UIConstraintBasedLayoutDebugging category on UIView listed in &lt;UIKitCore/UIView.h&gt; may also be helpful.
  2020-01-16 15:29:00.435062+0100 MyApp[1542:65269] [LayoutConstraints] Unable to simultaneously satisfy constraints.
      Probably at least one of the constraints in the following list is one you don't want. 
      Try this: 
          (1) look at each constraint and try to figure out which you don't expect; 
          (2) find the code that added the unwanted constraint or constraints and fix it. 
  (
      &quot;&lt;NSLayoutConstraint:0x600000024550 H:|-(0)-[UIImageView:0x7fa6fc578020](LTR)   (active, names: '|':UIView:0x7fa6fc578980 )&gt;&quot;,
      &quot;&lt;NSLayoutConstraint:0x600000024730 MyApp.AnimatedButton:0x7fa6fc5786d0.right == UIView:0x7fa6fc578980.right   (active)&gt;&quot;,
      &quot;&lt;NSLayoutConstraint:0x6000000247d0 MyApp.DefaultLabel:0x7fa6fc579090'3d'.right == MyApp.AnimatedButton:0x7fa6fc5786d0.left - 4   (active)&gt;&quot;,
      &quot;&lt;NSLayoutConstraint:0x600000024a50 H:[UIImageView:0x7fa6fc578020]-(8)-[MyApp.DefaultLabel:0x7fa6fc578460'@unitedholograms'](LTR)   (active)&gt;&quot;,
      &quot;&lt;NSLayoutConstraint:0x600000024910 MyApp.DefaultLabel:0x7fa6fc578460'@unitedholograms'.right == MyApp.DefaultLabel:0x7fa6fc579090'3d'.left   (active)&gt;&quot;,
      &quot;&lt;NSLayoutConstraint:0x600000024be0 H:|-(16)-[UIView:0x7fa6fc578980](LTR)   (active, names: '|':UIView:0x7fa6fc56b450 )&gt;&quot;,
      &quot;&lt;NSLayoutConstraint:0x600000024c30 UIView:0x7fa6fc578980.right == UIView:0x7fa6fc56b450.right - 16   (active)&gt;&quot;,
      &quot;&lt;NSLayoutConstraint:0x600000026fd0 UIView:0x7fa6fc56b450.width == 0   (active)&gt;&quot;
  )
  
  Will attempt to recover by breaking constraint 
  &lt;NSLayoutConstraint:0x600000024a50 H:[UIImageView:0x7fa6fc578020]-(8)-[MyApp.DefaultLabel:0x7fa6fc578460'@unitedholograms'](LTR)   (active)&gt;
  
  Make a symbolic breakpoint at UIViewAlertForUnsatisfiableConstraints to catch this in the debugger.
  The methods in the UIConstraintBasedLayoutDebugging category on UIView listed in &lt;UIKitCore/UIView.h&gt; may also be helpful.
  2020-01-16 15:29:00.435727+0100 MyApp[1542:65269] [LayoutConstraints] Unable to simultaneously satisfy constraints.
      Probably at least one of the constraints in the following list is one you don't want. 
      Try this: 
          (1) look at each constraint and try to figure out which you don't expect; 
          (2) find the code that added the unwanted constraint or constraints and fix it. 
  (
      &quot;&lt;NSLayoutConstraint:0x600000024550 H:|-(0)-[UIImageView:0x7fa6fc578020](LTR)   (active, names: '|':UIView:0x7fa6fc578980 )&gt;&quot;,
      &quot;&lt;NSLayoutConstraint:0x600000024730 MyApp.AnimatedButton:0x7fa6fc5786d0.right == UIView:0x7fa6fc578980.right   (active)&gt;&quot;,
      &quot;&lt;NSLayoutConstraint:0x6000000247d0 MyApp.DefaultLabel:0x7fa6fc579090'3d'.right == MyApp.AnimatedButton:0x7fa6fc5786d0.left - 4   (active)&gt;&quot;,
      &quot;&lt;NSLayoutConstraint:0x600000024960 H:[UIImageView:0x7fa6fc578020]-(8)-[MyApp.DefaultLabel:0x7fa6fc5781f0'MyApp'](LTR)   (active)&gt;&quot;,
      &quot;&lt;NSLayoutConstraint:0x6000000249b0 MyApp.DefaultLabel:0x7fa6fc5781f0'MyApp'.right == MyApp.DefaultLabel:0x7fa6fc579090'3d'.left   (active)&gt;&quot;,
      &quot;&lt;NSLayoutConstraint:0x600000024be0 H:|-(16)-[UIView:0x7fa6fc578980](LTR)   (active, names: '|':UIView:0x7fa6fc56b450 )&gt;&quot;,
      &quot;&lt;NSLayoutConstraint:0x600000024c30 UIView:0x7fa6fc578980.right == UIView:0x7fa6fc56b450.right - 16   (active)&gt;&quot;,
      &quot;&lt;NSLayoutConstraint:0x600000026fd0 UIView:0x7fa6fc56b450.width == 0   (active)&gt;&quot;
  )
  
  Will attempt to recover by breaking constraint 
  &lt;NSLayoutConstraint:0x600000024960 H:[UIImageView:0x7fa6fc578020]-(8)-[MyApp.DefaultLabel:0x7fa6fc5781f0'MyApp'](LTR)   (active)&gt;
  
  Make a symbolic breakpoint at UIViewAlertForUnsatisfiableConstraints to catch this in the debugger.
  The methods in the UIConstraintBasedLayoutDebugging category on UIView listed in &lt;UIKitCore/UIView.h&gt; may also be helpful.
  2020-01-16 15:29:00.436212+0100 MyApp[1542:65269] [LayoutConstraints] Unable to simultaneously satisfy constraints.
      Probably at least one of the constraints in the following list is one you don't want. 
      Try this: 
          (1) look at each constraint and try to figure out which you don't expect; 
          (2) find the code that added the unwanted constraint or constraints and fix it. 
  (
      &quot;&lt;NSLayoutConstraint:0x600000024fa0 H:|-(0)-[UIImageView:0x7fa6fc57a610](LTR)   (active, names: '|':UIView:0x7fa6fc57a300 )&gt;&quot;,
      &quot;&lt;NSLayoutConstraint:0x600000025040 UIImageView:0x7fa6fc57a610.right == UIStackView:0x7fa6fc57a470.left - 8   (active)&gt;&quot;,
      &quot;&lt;NSLayoutConstraint:0x600000025220 UIStackView:0x7fa6fc57a470.right == UIView:0x7fa6fc57a300.right   (active)&gt;&quot;,
      &quot;&lt;NSLayoutConstraint:0x600000025360 H:|-(0)-[UIView:0x7fa6fc57a300](LTR)   (active, names: '|':UIView:0x7fa6fc57a010 )&gt;&quot;,
      &quot;&lt;NSLayoutConstraint:0x6000000253b0 UIView:0x7fa6fc57a300.right == UIView:0x7fa6fc57a010.right   (active)&gt;&quot;,
      &quot;&lt;NSLayoutConstraint:0x600000025590 H:|-(16)-[UIView:0x7fa6fc57a010](LTR)   (active, names: '|':UIView:0x7fa6fc56b450 )&gt;&quot;,
      &quot;&lt;NSLayoutConstraint:0x6000000255e0 UIView:0x7fa6fc57a010.right == UIView:0x7fa6fc56b450.right - 16   (active)&gt;&quot;,
      &quot;&lt;NSLayoutConstraint:0x600000026fd0 UIView:0x7fa6fc56b450.width == 0   (active)&gt;&quot;
  )
  
  Will attempt to recover by breaking constraint 
  &lt;NSLayoutConstraint:0x600000025220 UIStackView:0x7fa6fc57a470.right == UIView:0x7fa6fc57a300.right   (active)&gt;
  
  Make a symbolic breakpoint at UIViewAlertForUnsatisfiableConstraints to catch this in the debugger.
  The methods in the UIConstraintBasedLayoutDebugging category on UIView listed in &lt;UIKitCore/UIView.h&gt; may also be helpful.
  2020-01-16 15:29:00.436954+0100 MyApp[1542:65269] [LayoutConstraints] Unable to simultaneously satisfy constraints.
      Probably at least one of the constraints in the following list is one you don't want. 
      Try this: 
          (1) look at each constraint and try to figure out which you don't expect; 
          (2) find the code that added the unwanted constraint or constraints and fix it. 
  (
      &quot;&lt;NSLayoutConstraint:0x600000025680 H:|-(0)-[MyApp.PostInteractionButton:0x7fa6fc5720f0](LTR)   (active, names: '|':UIView:0x7fa6fc579e80 )&gt;&quot;,
      &quot;&lt;NSLayoutConstraint:0x600000025720 MyApp.PostInteractionButton:0x7fa6fc5720f0.right == MyApp.DefaultLabel:0x7fa6fc573090'1'.left - 8   (active)&gt;&quot;,
      &quot;&lt;NSLayoutConstraint:0x600000025810 MyApp.DefaultLabel:0x7fa6fc573090'1'.right == UIView:0x7fa6fc579e80.right   (active)&gt;&quot;,
      &quot;&lt;NSLayoutConstraint:0x600000025ef0 H:|-(16)-[UIStackView:0x7fa6fc579cf0](LTR)   (active, names: '|':UIView:0x7fa6fc56b450 )&gt;&quot;,
      &quot;&lt;NSLayoutConstraint:0x600000025540 UIStackView:0x7fa6fc579cf0.right == UIView:0x7fa6fc56b450.right - 16   (active)&gt;&quot;,
      &quot;&lt;NSLayoutConstraint:0x600000026fd0 UIView:0x7fa6fc56b450.width == 0   (active)&gt;&quot;,
      &quot;&lt;NSLayoutConstraint:0x6000000265d0 'UISV-canvas-connection' UIStackView:0x7fa6fc579cf0.leading == UIView:0x7fa6fc579e80.leading   (active)&gt;&quot;,
      &quot;&lt;NSLayoutConstraint:0x600000026620 'UISV-canvas-connection' H:[MyApp.PostInteractionButton:0x7fa6fc5752d0]-(0)-|   (active, names: '|':UIStackView:0x7fa6fc579cf0 )&gt;&quot;,
      &quot;&lt;NSLayoutConstraint:0x6000000266c0 'UISV-distributing-edge' H:[UIView:0x7fa6fc579e80]-(0)-[_UIOLAGapGuide:0x600001f8cd00'UISV-distributing']   (active)&gt;&quot;,
      &quot;&lt;NSLayoutConstraint:0x600000026710 'UISV-distributing-edge' _UIOLAGapGuide:0x600001f8cd00'UISV-distributing'.trailing == UIView:0x7fa6fc57c3e0.leading   (active)&gt;&quot;,
      &quot;&lt;NSLayoutConstraint:0x600000026800 'UISV-distributing-edge' H:[UIView:0x7fa6fc57c3e0]-(0)-[_UIOLAGapGuide:0x600001f8d300'UISV-distributing']   (active)&gt;&quot;,
      &quot;&lt;NSLayoutConstraint:0x600000026850 'UISV-distributing-edge' _UIOLAGapGuide:0x600001f8d300'UISV-distributing'.trailing == UIView:0x7fa6fc57c6d0.leading   (active)&gt;&quot;,
      &quot;&lt;NSLayoutConstraint:0x6000000267b0 'UISV-distributing-edge' H:[UIView:0x7fa6fc57c6d0]-(0)-[_UIOLAGapGuide:0x600001f8d400'UISV-distributing']   (active)&gt;&quot;,
      &quot;&lt;NSLayoutConstraint:0x600000026940 'UISV-distributing-edge' _UIOLAGapGuide:0x600001f8d400'UISV-distributing'.trailing == MyApp.PostInteractionButton:0x7fa6fc5752d0.leading   (active)&gt;&quot;,
      &quot;&lt;NSLayoutConstraint:0x6000000268a0 'UISV-fill-equally' _UIOLAGapGuide:0x600001f8d300'UISV-distributing'.width == _UIOLAGapGuide:0x600001f8cd00'UISV-distributing'.width   (active)&gt;&quot;,
      &quot;&lt;NSLayoutConstraint:0x600000026990 'UISV-fill-equally' _UIOLAGapGuide:0x600001f8d400'UISV-distributing'.width == _UIOLAGapGuide:0x600001f8cd00'UISV-distributing'.width   (active)&gt;&quot;
  )
  </code></pre>
  <h2>Outro</h2>
  <p>I really have no idea why there's this behavior. Especially as everything works perfectly fine if I'm not using the cell as a header cell.</p>