Swift: change size of SwiftUI view presented by a UIKit ViewController

542 Views Asked by At

I have a project which has been entirely built using UIKit. We are now trying to slowly introduce SwiftUI for any new UI views that we build into the app.

So y current dilemma is that we have a UIViewController which contains a view with a button that needs to present some kind of a pop-up view containing a list of notifications (which I plan to build using List in SwiftUI. For context, here is how the current view looks (built using UIKit). User would then tap on 'Show me...' and be taken to the new SwiftUI view.

enter image description here

So initially I just tried like this:

@objc func showNotifications() {
    let controller = UIHostingController(rootView: NotificationContentView())
    self.present(controller, animated: true, completion: nil)
}

This obviously presents a modal view which is great, but I want to be able to control the size of this view. The notification screen should be fairly narrow, not virtually full screen.

I wonder how I might go about implementing this.

0

There are 0 best solutions below