UIKit: readableContentGuide is too wide on iPads iOS 26.x

We noticed in multiple apps that readableContentGuide is way too wide on iOS 26.x. Here are changes between iPad 13inch iOS 18.3 and the same device iOS 26.2 (but this affects also iOS 26.0 and iOS 26.1):

13 inch iOS 18
Landscape ContentSizeCategory: 
XS,  Width: 1376.0 , Readable Width: 560.0
S,   Width: 1376.0 , Readable Width: 600.0
M,   Width: 1376.0 , Readable Width: 632.0
L,   Width: 1376.0 , Readable Width: 664.0
XL,  Width: 1376.0 , Readable Width: 744.0
XXL, Width: 1376.0 , Readable Width: 816.0
XXXL,Width: 1376.0 , Readable Width: 896.0
A_M, Width: 1376.0 , Readable Width: 1096.0
A_L, Width: 1376.0 , Readable Width: 1280.0
A_XL,Width: 1376.0 , Readable Width: 1336.0

13 inch iOS 26
Landscape ContentSizeCategory:
XS,  Width: 1376.0 , Readable Width: 752.0
S,   Width: 1376.0 , Readable Width: 800.0
M,   Width: 1376.0 , Readable Width: 848.0
L,   Width: 1376.0 , Readable Width: 896.0
XL,  Width: 1376.0 , Readable Width: 1000.0
XXL, Width: 1376.0 , Readable Width: 1096.0
XXXL,Width: 1376.0 , Readable Width: 1200.0
A_M, Width: 1376.0 , Readable Width: 1336.0

The code I used:

class ViewController: UIViewController {
    
    lazy var readableView: UIView = {
        let view = UIView()
        view.backgroundColor = .systemBlue
        view.translatesAutoresizingMaskIntoConstraints = false
        return view
    }()
    
    override func viewDidLoad() {
        super.viewDidLoad()
        view.addSubview(readableView)
        NSLayoutConstraint.activate([
            readableView.topAnchor.constraint(equalTo: view.safeAreaLayoutGuide.topAnchor),
            readableView.leadingAnchor.constraint(equalTo: view.readableContentGuide.leadingAnchor),
            readableView.trailingAnchor.constraint(equalTo: view.readableContentGuide.trailingAnchor),
            readableView.bottomAnchor.constraint(equalTo: view.safeAreaLayoutGuide.bottomAnchor)
        ])
    }
    
    override func viewDidLayoutSubviews() {
        super.viewDidLayoutSubviews()
        if readableView.frame.width > 0 {
            let orientation = UIDevice.current.orientation
            print("""
            ContentSizeCategory: \(preferredContentSizeCategoryAsString())
            Width: \(view.frame.width) , Readable Width: \(readableView.frame.width), Ratio: \(String(format: "%.1f", (readableView.frame.width / view.frame.width) * 100))%
            """)
        }
    }
    
    func preferredContentSizeCategoryAsString() -> String {
        switch UIApplication.shared.preferredContentSizeCategory {
        case UIContentSizeCategory.accessibilityExtraExtraExtraLarge:
            return "A_XXXL"
        case UIContentSizeCategory.accessibilityExtraExtraLarge:
            return "A_XXL"
        case UIContentSizeCategory.accessibilityExtraLarge:
            return "A_XL"
        case UIContentSizeCategory.accessibilityLarge:
            return "A_L"
        case UIContentSizeCategory.accessibilityMedium:
            return "A_M"
        case UIContentSizeCategory.extraExtraExtraLarge:
            return "XXXL"
        case UIContentSizeCategory.extraExtraLarge:
            return "XXL"
        case UIContentSizeCategory.extraLarge:
            return "XL"
        case UIContentSizeCategory.large:
            return "L"
        case UIContentSizeCategory.medium:
            return "M"
        case UIContentSizeCategory.small:
            return "S"
        case UIContentSizeCategory.extraSmall:
            return "XS"
        case UIContentSizeCategory.unspecified:
            return "U"
        default:
            return "D"
        }
    }
}

Please advise, it feels completely broken. Thank you.

I have absolutely the same feel. But it looks like it was meant to be that way (according to system applications).

Also collapsing the sidebar increases width slightly, causing an unwanted layout resizing. In iOS 18 and earlier readableContentGuide was less wider and always identical with & without the sidebar.

UIKit: readableContentGuide is too wide on iPads iOS 26.x
 
 
Q