Инициируйте с представлением содержимого SwiftUI вместо ActionViewController в iOS Action Extention - PullRequest
3 голосов
/ 06 февраля 2020

enter image description here Вся моя база кода находится в UIKit. Я хочу построить свой модуль расширения действия, используя swiftUI.

Поскольку я могу добавить NSExtensionPrincipalClass в качестве начальной точки входа в интерфейс расширения. Как установить начальную точку входа в представление содержимого swiftUI.

struct ActionExtensionInitialView: View {
    var body: some View {
        Text("Hello, World!")
    }
}

1 Ответ

2 голосов
/ 06 февраля 2020

Ваш основной класс может выглядеть следующим образом (протестировано и работало с Xcode 11.2)

class ActionViewController: UIHostingController<AnyView> {

    // override designated initialiser
    override init(nibName nibNameOrNil: String?, bundle nibBundleOrNil: Bundle?) {
        let contentView = ActionExtensionInitialView() // << SwiftUI root view
        super.init(rootView: AnyView(contentView))
    }

    @objc required dynamic init?(coder aDecoder: NSCoder) {
        fatalError("init(coder:) has not been implemented")
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...