title: iOS 7+ UITableView with 3 Different Prototype Cells of Varying Height
body: <p>This should be pretty straight forward, but it appears I need to reach out and ask if others have encountered this...</p>
  
  <p>I've got a project on xcode 6 that's targeting iOS 7+.  I'm using a storyboard and <code>autolayout</code>.  I've created a <code>UIViewController</code>, dropped on a <code>UITableView</code>, and on that <code>UITableView</code> I've dropped on 3 different prototype cells, each with varying height. Each proto cell has its own <code>UITableViewCell</code> class, with <code>UIElement</code> linked accordingly.</p>
  
  <p>These proto cells are designed in the GUI editor of the storyboard, and each of them have a fixed height.  The will never grow in height like this: <a href="https://stackoverflow.com/questions/18746929/using-auto-layout-in-uitableview-for-dynamic-cell-layouts-variable-row-heights">Using Auto Layout in UITableView for dynamic cell layouts &amp; variable row heights</a></p>
  
  <p>The problem with all examples I keep finding is that they all use a single prototype cell, and vary the height based on the content (i.e. they're using a <code>UITextView</code> and sizing the cell height based on how much text in in the view).</p>
  
  <p>Since my proto cells are already designed in the storyboard, and they will never exceed their design height with dynamic content, all I want to do is show them as they are designed, when they are added to the table.</p>
  
  <p>I'm using a switch statement in the <code>cellForRowAtindexPath</code> to determine which <code>UITableViewCell</code> class to use based on <code>indexPath.row</code>.</p>
  
  <p>I created some dummy data in an array and use it to build a table with 3 rows, to see each of the 3 types of cells being rendered in the table.</p>
  
  <p>This all works perfectly on iOS8. On iOS7, however, all three of my cells visually end up piled on top of each other.</p>
  
  <p>For grins, I then implemented a <code>heightForRowAtIndexPath</code> method, and simply use a switch to determine what <code>indexPath.row</code> I'm dealing with, and then return back the height of the prototype cell (from the dimensions shown in the storyboard designer).  This was supposed to be a simple, hard-coded approach to see if <code>heightForRowAtIndexPath</code> was needed to solve the issue.</p>
  
  <p>Again, works great on iOS 8, but on iOS7 all 3 cells are piled on top of each other.</p>
  
  <p>I guess a basic question is: since I'm using storyboard-designed prototype cells, that have fixed sizes and constraints on all of the <code>UIComponent</code> within those proto cells, why doesn't this work on iOS 7?</p>
  
  <p>I'm trying to avoid adding tons of code just make this work on iOS7.</p>