title: Prevent Dismissal of UIViewController Presented with presentViewController
body: <p>I have two UIViewControllers in my app. Performing an action on UIViewControllerA loads UIViewControllerB or UIViewControllerC with no problem.</p>
  
  <pre><code>let destinationViewController = self.storyboard?.instantiateViewControllerWithIdentifier("UIVCB") as! ViewControllerB
  destinationViewController.results = result
  self.presentViewController(destinationViewController, animated: true, completion: nil )
  </code></pre>
  
  <p>(I want to present the second view controller (B or C) <em>modally</em> because I want the user to deal with something there and <em>not</em> return to UIViewControllerA until he or she has done so.)</p>
  
  <p>The problem is that clicking <em>anywhere</em> on UIViewControllerB or UIViewControllerC returns the user to UIViewControllerA. At first I thought I was instantiating these incorrectly, but someone has answered here and indicated that is not the problem. (And I find it hard to believe the problem is with code in B or C because it's affecting both of them.)</p>
  
  <p>I have found dozens (hundreds?) of search results detailing how to <em>dismiss</em> a presented viewcontroller, but I can't seem to find any explaining how to <em>prevent</em> dismissing one.</p>
  
  <p>Am I wrong to be using presentViewController() this way to load the second view? Or am I simply missing something obvious to prevent the second controller being dismissed by clicking anywhere on the screen?</p>
  
  <p><strong>Update:</strong> If I use this code to instantiate B or C, the problem of "clicking anywhere to dismiss" goes away:</p>
  
  <pre><code>self.navigationController?.pushViewController( destinationViewController, animated: true )
  </code></pre>
  
  <p>But I was under the assumption that I shouldn't be invoking the navigationController and / or pushing and popping because B and C are supposed to be modal and outside the navigation stack.</p>