title: How to override trait collection for initial UIViewController? (with Storyboard)
body: <p>I have an app targeted iOS8 and initial view controller is UISplitViewController. I use storyboard, so that it kindly instantiate everything for me.</p>
  
  <p>Because of my design I need SplitViewController to show both master and detail views in portrait mode on iPhone. So I am looking for a way to override trait collection for this UISplitViewController.</p>
  
  <p>I found that I can use</p>
  
  <pre><code> override func viewWillTransitionToSize(size: CGSize, withTransitionCoordinator coordinator: UIViewControllerTransitionCoordinator!) { ... }
  </code></pre>
  
  <p>but, unfortunately, there are only methods to override child controllers traits collections:</p>
  
  <pre><code>setOverrideTraitCollection(collection: UITraitCollection!, forChildViewController childViewController: UIViewController!)
  </code></pre>
  
  <p>and I can't do so for self in my UISplitViewController subclass.</p>
  
  <p>I checked an example app <a href="https://developer.apple.com/library/prerelease/ios/samplecode/AdaptivePhotos/Introduction/Intro.html#//apple_ref/doc/uid/TP40014636">Adaptive Photos</a> from Apple. And in this app author use special TraitOverrideViewController as root and some magic in his viewController setter to make it all works. </p>
  
  <p>It looks horrible for me. Is there are any way around to override traits? Or If there are not, how can I manage to use the same hack with storyboard? In other words, how to inject some viewController as root one only to handle traits for my UISplitViewController with storyboard?  </p>