Group Group Group Group Group Group Group Group Group

Landscape View iPhone 11 Pro Max

In Chapter 47 for the section Landscape on iPhone Plus you don’t handle the case for iPhone X’s I am curious as to how you would go about this. I know this question has been asked before (in 2018) and it was said that would be updated in a newer version. I’m currently using the newer version and don’t see anything mentioning iPhone X models.

Also, I don’t understand how the logic works on knowing when to present a split view in the landscape for the iPhone 8 plus devices. Currently, your switch statement in willTransition is this

let rect = UIScreen.main.bounds
    if (rect.width == 736 && rect.height == 414) || (rect.width == 414 && rect.height == 736) {
        if presentedViewController != nil {
            dismiss(animated: true, completion: nil)
        }
    } else if UIDevice.current.userInterfaceIdiom != .pad {
        switch newCollection.verticalSizeClass {
        case .compact:
            showLandscape(with: coordinator)
        case .regular, .unspecified:
            hideLandscape(with: coordinator)
        @unknown default:
            fatalError()
        }
    }

All this does is check if a pop-over is displayed and then dismisses it if one is visible. If the first if condition checks out, it never goes to the else if using a plus device. So how does it know to show a split view controller?

Also, willTransition doesn’t even get called when turning over the iPad device to present the landscape view.

@mcneils Do you still have issues with this?

yes I am still having issues with this.

@ganem Can you please help with this when you get a chance? Thank you - much appreciated! :]