title: Best approach for UITableViewCell with complex format
body: <p>I'm new to iOS development pondering how best to approach a fairly simple design problem. I want to display a set of items, each one of which has the structure as sketched. In a given set, not more than 10's of items.</p>
  
  <p><img src="https://i.stack.imgur.com/sYwSp.jpg" alt="Sketch"></p>
  
  <p>Each item includes a thumbnail image, a heading, a blurb, and a set of buttons. There are two complications:</p>
  
  <ol>
  <li>The amount of text and number of buttons is variable.</li>
  <li>The text requires some internal formatting (italics and bold).</li>
  </ol>
  
  <p>I've considered these approaches:</p>
  
  <ol>
  <li><p>Use a table view, with custom, resizable UITableViewCell, probably using something like OHAttributedLabel for the text. For the variable number of buttons, either lay these out programmatically or possibly use the new collection view (for older iOS, have to use 3rd party grid view).</p></li>
  <li><p>Use a table view with custom cell based on UIWebView.</p></li>
  <li><p>Do the whole set as one UIWebView.</p></li>
  <li><p>Use a table view with sections; each item having its own section and parsing out the buttons and text to rows.</p></li>
  </ol>
  
  <p>Would love to get suggestions about how a more experienced iOS dev would approach this. </p>
  
  <p>EDIT: I am now considering that the best way may be: </p>
  
  <p>5) Use UICollectionView for the whole thing.</p>
  
  <p>UPDATE: In the end, I laid the whole thing out in code as a custom table cell (ie., #1). This was a good choice, not only for the reasons given in the answer, but because as someone new to iOS development, it's something I needed to get under my belt. Didn't even use collection view for the buttons, because I was worried about performance and also the hassle of supporting iOS5. </p>
  
  <p>I do think that using collection view for the whole design (#5) would have been an elegant solution, and I actually started down that path. However, some complications not shown in the simplified pic above made that unwieldy.</p>
  
  <p>2nd UPDATE: #1 turned out to be a dead end. My final solution used a UIWebView (#3) - see answer.</p>