Внедрить ViewModifier в представление SwiftUI

Текущая ситуация
Я работаю над iOS SDK, содержащим несколько UIViewControllers которые можно настроить с помощью функции делегата, передающей String в качестве идентификатора и получить индивидуальный CALayer. При этом ведущее приложение может настроить внешний вид SDK.

Это пример:

      extension ViewController: NINChatSessionDelegate {
    func ninchat(_ session: NINChatSession, overrideLayer assetKey: CALayerConstant) -> CALayer? {
        switch assetKey {
        case .ninchatPrimaryButton:
            let layer = CALayer()
            layer.backgroundColor = UIColor.gray.cgColor
            layer.masksToBounds = true
            layer.cornerRadius = 20.0
            return layer
        default:
            return nil
    }
} 

Проблема
В настоящее время я пытаюсь перенести код на SwiftUI и объединить. Но я не могу найти способ предложить хост-приложениям внедрять свои собственные атрибуты. Насколько я понял, структура используется для применения настраиваемых атрибутов к одному или нескольким View(s)в SwiftUI. Однако я пока не мог найти способ внедрить их в SDK, потому что ViewModifierпротокол имеет собственные требования или требования к ассоциированному типу

Я ценю любую помощь и руководство.

0 ответов

Другие вопросы по тегам