İçeriğe geç

SwiftUI ile UIViewControllerRepresentable kullanımı

Merhabalar bu yazımda SwiftUI ile View üzerinde UIViewController sınıflarımızı nasıl görüntüleyip, kullanabileceğimizi sizlerle paylaşacağım.

Bundan önceki yazımda bahsettiğim UIViewRepresentable ile UIKit nesnelerini SwiftUI uygulamamıza bağlayabiliyorduk. Aynı şekilde View içerisine UIViewController sınıflarınıda ekleyebilir ve kullanabiliriz. Bunun için UIViewControllerRepresentable protokolü işimize yarayacaktır. Böylelikle SwiftUI ile uygulama içerisinde cihaz foto galerisine erişim vs gibi durumlardada bu ara protokole bağlı ara sınıfları kullanacağız.

import UIKit
import SwiftUI

struct ViewControllerWrapper: UIViewControllerRepresentable {
    
    typealias UIViewControllerType = UIViewController

    func makeUIViewController(context: UIViewControllerRepresentableContext<ViewControllerWrapper>) -> ViewControllerWrapper.UIViewControllerType {
        let vc = UIViewController()
        vc.view.backgroundColor = .green
        return vc
    }
    
    func updateUIViewController(_ uiViewController: UIViewController, context: UIViewControllerRepresentableContext<ViewControllerWrapper>) {
        
    }
}

View içerisinde kullanalım.

struct ContentView:View {
    
    var body: some View {
        ViewControllerWrapper()
            .edgesIgnoringSafeArea(.all)
    }
}

 

Tarih:SwiftUI

İlk Yorumu Siz Yapın

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Copyright © 2020 Kenan Atmaca