Внедрение SwiftUI ViewModifiers выдает ошибку: введите «любой ViewModifier» не может соответствовать «ViewModifier». ⇐ IOS
Внедрение SwiftUI ViewModifiers выдает ошибку: введите «любой ViewModifier» не может соответствовать «ViewModifier».
Я хотел бы внедрить свой ViewModifier из ViewModel, который зависит от конфигурации пользователя.
Ниже приведен код представления, у которого есть ViewModel. ViewModel можно создать с помощью ViewConfiguration, и пользователь должен иметь возможность использовать стиль по умолчанию или собственный стиль в зависимости от предпочтений.
Когда я пытаюсь это сделать, в представлении появляется ошибка
Тип «любой ViewModifier» не может соответствовать «ViewModifier»
структура FeatureUnavailableView: Посмотреть { var viewModel = ViewModel(config: ViewConfiguration(titleStyle: DefaultTitleModifier())) var body: some View { Текст("Привет, мир") .modifier(viewModel.config.titleStyle) } } класс ViewModel { пусть конфигурация: ViewConfiguration инициализация (конфигурация: ViewConfiguration) { self.config = конфигурация } } структура ViewConfiguration { var titleStyle: любой ViewModifier } общественная структура DefaultTitleModifier: ViewModifier { public func body(content: Content) -> some View { содержание .lineLimit(1) .foregroundColor(.red) .смелый() } }
Я хотел бы внедрить свой ViewModifier из ViewModel, который зависит от конфигурации пользователя.
Ниже приведен код представления, у которого есть ViewModel. ViewModel можно создать с помощью ViewConfiguration, и пользователь должен иметь возможность использовать стиль по умолчанию или собственный стиль в зависимости от предпочтений.
Когда я пытаюсь это сделать, в представлении появляется ошибка
Тип «любой ViewModifier» не может соответствовать «ViewModifier»
структура FeatureUnavailableView: Посмотреть { var viewModel = ViewModel(config: ViewConfiguration(titleStyle: DefaultTitleModifier())) var body: some View { Текст("Привет, мир") .modifier(viewModel.config.titleStyle) } } класс ViewModel { пусть конфигурация: ViewConfiguration инициализация (конфигурация: ViewConfiguration) { self.config = конфигурация } } структура ViewConfiguration { var titleStyle: любой ViewModifier } общественная структура DefaultTitleModifier: ViewModifier { public func body(content: Content) -> some View { содержание .lineLimit(1) .foregroundColor(.red) .смелый() } }
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Как создать несколько пользовательских ViewModifiers для определенного представления
Anonymous » » в форуме IOS - 0 Ответы
- 10 Просмотры
-
Последнее сообщение Anonymous
-