MFMessageComposeViewController: Close button disappears after sending message on iOS 26

Description

When presenting MFMessageComposeViewController from SwiftUI using UIViewControllerRepresentable, the close button disappears after sending a message on iOS 26. As a result, the message compose screen cannot be dismissed, leaving the user stuck on the Messages UI.

struct MessageComposeView: UIViewControllerRepresentable { typealias Completion = (_ messageSent: Bool) -> Void

static var canSendText: Bool { MFMessageComposeViewController.canSendText() }
    
let recipients: [String]?
let body: String?
let completion: Completion?

func makeUIViewController(context: Context) -> UIViewController {
    guard Self.canSendText else {
        let errorView = MessagesUnavailableView()
        return UIHostingController(rootView: errorView)
    }
    
    let controller = MFMessageComposeViewController()
    controller.messageComposeDelegate = context.coordinator
    controller.recipients = recipients
    controller.body = body
    
    return controller
}

func updateUIViewController(_ uiViewController: UIViewController, context: Context) {}

func makeCoordinator() -> Coordinator {
    Coordinator(completion: self.completion)
}

class Coordinator: NSObject, MFMessageComposeViewControllerDelegate {
    private let completion: Completion?

    public init(completion: Completion?) {
        self.completion = completion
    }
    
    public func messageComposeViewController(_ controller: MFMessageComposeViewController, didFinishWith result: MessageComposeResult) {
        if result == .cancelled {
            controller.dismiss(animated: true, completion: nil)
        }
        completion?(result == .sent)
    }
}

}

Before sending message:

After sending message:

MFMessageComposeViewController: Close button disappears after sending message on iOS 26
 
 
Q