title: UIStackView - drag to reorder arranged subviews?
body: <p>I'm trying to get some advice on how to go about implementing the same sort of "drag to reorder" behavior found on a <code>UITableView</code> but on a <code>UIStackView</code>.</p>
  
  <p>So far this is what I'm thinking:</p>
  
  <ol>
  <li>Add a long press gesture recognizer to each of the <code>arrangedSubview</code>s</li>
  <li>On long press, add an overlay <code>UIView</code> as a subview to the main view and that fills the entire main view. This overlay view will act as a "canvas" of sorts as I'm dragging the temporary "reorder" view—we'll call this the <code>tempView</code>— around <em>(more on that in 4)</em></li>
  <li>Set the <code>alpha</code> of the <code>arrangedSubview</code> to 0 (setting <code>hidden = true</code> would result in the <code>UIStackView</code> animating closing in as if it were removed.</li>
  <li>Add a <code>tempView</code> to the overlay view <em>(see 3)</em> with the same initial frame as the <code>arrangedSubview</code></li>
  <li>Drag the <code>tempView</code> up or down and insert/remove the actual <code>arrangedSubview</code> at a calculated index based on the position of the <code>tempView</code>.</li>
  <li>Listen for when the long press <code>state</code> is <code>.Ended</code> and set the <code>arrangedSubview.alpha = 1</code> and remove the overlay view from the main view.</li>
  </ol>
  
  <p>Any suggestions? Any glaring holes that anyone sees? What would you change? What direction would you go to accomplish this? </p>