title: Change UISplitViewController displayMode property when entering multitasking? (iOS 14)
body: <p>How can I detect when iPad multitasking (i.e. another app brought on screen, side-by-side with my app) becomes active?</p>
  <p>I have a <code>UISplitViewController</code> with the following parameters set up as below:</p>
  <pre><code>preferredDisplayMode = .twoBesideSecondary
  preferredSplitBehavior = .tile
  setViewController(SidebarVC(), for: .primary)
  setViewController(SuppVC(), for: .supplementary)
  setViewController(SecondaryVC(), for: .secondary)
  </code></pre>
  <p>In landscape orientation, there is plenty of room for all 3 columns (<code>.primary, .supplementary, .secondary</code>). In portrait or when multitasking, the screen width is narrower and my 3rd column (<code>.secondary</code>) gets squished to a very narrow width. The horizontal size class remains regular so I can't use that to detect it. (When horizontal size class becomes compact, my <code>UISplitViewController.compact</code> shows and works just fine).</p>
  <p>I'm wanting to change the <code>UISplitViewController.displayMode</code> property to <code>.twoDisplaceSecondary</code> when the screen is narrower, but the horizontal size class remains regular (i.e. when in portrait, or when another app is in multitasking). This would allow the 3rd column to be pushed off-screen (displaced) rather than squished.</p>
  <p>A perfect example of the exact behavior I'm looking for is the Contacts app on iPad in iOS 14. It uses a triple column layout, seemingly with a displayMode of <code>.tile</code>. When the app is full screen in landscape, all 3 columns are displayed and there is enough room for no squishing to occur. However, if you bring another app into multitasking (thus making the Contacts app width narrower, but horizontal size class remains regular), the displayMode seems to change to <code>.twoDisplaceSecondary</code>, and the 3rd column is pushed off-screen rather than being squished.</p>
  <p>I think I can manage orientation changes via <code>viewWillTransitionToSize()</code> method, but I haven't been able to find a delegate or other way to detect when the app is narrower, but still with a <code>.regular</code> horizontal size class, like the Contacts app, is seemingly able to do.</p>
  <p>Screenshots to show what I'm referencing:
  <a href="https://i.stack.imgur.com/0G5h9.png" rel="noreferrer"><img src="https://i.stack.imgur.com/0G5h9.png" alt="Contacts app w/ triple columns, full screen width" /></a>
  <a href="https://i.stack.imgur.com/6b1Qp.png" rel="noreferrer"><img src="https://i.stack.imgur.com/6b1Qp.png" alt="Contacts app in multitasking, with 3rd column, displaced" /></a></p>
  <p>You can see that in the second screenshot, the 3rd column is displaced rather than squished when there isn't enough space.</p>