Note that there are some explanatory texts on larger screens.

plurals
  1. POUIViewController (Modal) Rotation
    primarykey
    data
    text
    <p>I have three modal VCs as follows:</p> <p>M1 is UIModalPresentationFullScreen</p> <p>M2 is UIModalPresentationFormSheet</p> <p>M3 is UIModalPresentationFormSheet</p> <p>M1 calls M2; M2 calls M3</p> <p>So, normally, you'll see M1 in the background and M2 as a FormSheet. If M3 is called it covers M2 until it is closed.</p> <p>Everything is fine until a rotation occurs while M3 is open. When rotated to any orientation with M2 &amp; M3 open, M2 goes into a full-screen view (even though it is a form sheet modal), and M3 is properly displayed as a form sheet over M3; but M1 is totally invisible (since it is covered by a full-screen M2). </p> <p>After rotation, everything works correctly, but M3 should cover M2 and M1 should be in the background. But what happens is that M2 is full-screen in the background, and M3 is correct.</p> <p>I have no rotation-related code in M2 or M3. M1 has the following only:</p> <pre><code>- (void) deviceOrientationDidChange { collectionView.frame = [self collectionViewFrame]; } </code></pre> <p>Which works as it should to change the frame of a collection view (this is a notification based on UIDeviceOrientationDidChangeNotification).</p> <p>So, I don't know whether this is a bug of mine, or whether this is as-designed behavior by Apple, or what. It is a little strange I know to have a series of Modals like this, but it does provide the desired effect. </p> <p>Will appreciate any suggestions from anyone; or recommendations for a workaround if nothing else. </p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload